首页 > 解决方案 > 支持操作员作为一等公民的语言如何遵守操作顺序?

问题描述

在诸如 F# 之类的中缀运算符是“函数”或一等公民的编程语言中,它们如何遵守诸如 2 * 4 + 6(其计算结果为 (2 * 4) + 6)之类的运算顺序?

标签: functional-programmingprogramming-languages

解决方案


对于 Haskell,您可以指定运算符的优先级和关联性。Scala 的优先级基于operator 的第一个字符,关联性基于最后一个字符。我不知道 F#,但看起来它也是基于使用的字符

其他一些语言只允许您重载现有的运算符,而不是创建自己的运算符,因此它们保留了内置对应项的优先级和关联性。


推荐阅读