一些语言使用一元加运算符进行隐式转换,例如将字符串强制转换为数字(例如 Javascript)或将小数字类型转换为int
(例如大多数基于 C 的语言),或者在重载运算符时使用。
由于一元加号主要用于这样的骇人听闻的目的,而且由于 F# 不执行自动加宽转换,我很惊讶 F# 包含一元加号。
令我惊讶的是 Haskell 没有一元加号运算符。由于 F# 设计受到 Haskell 的影响,我很好奇为什么决定 F# 需要一元加号,而 Haskell 显然不需要。
你能举一个在 F# 中可靠使用一元加号的例子吗?如果不能,为什么它完全包含在语言中?