Pet*_*son 12 f# unary-operator
有些语言使用一元加运算符进行隐式转换,例如将字符串强制转换为数字(例如Javascript)或将小数字类型转换为int(例如大多数基于C的语言),或者在重载运算符时使用.
由于一元加号主要用于这样的hackish目的,而且由于F#不执行自动扩展转换,我很惊讶F#包括一元加号.
令我惊讶的是,Haskell没有一元加运算符.由于F#设计受到Haskell的影响,我很好奇为什么当Haskell显然不支持F#需要一元加时.
你能举例说明F#中一元加的可靠用法吗?如果你不能,为什么它包含在语言中呢?
我将总结扩展评论。可能的原因(直到给出更权威的答案为止):