0
(max 23,23) == (max 23,23)

在上面的例子中,我必须在这两种方法上加上括号。有没有类似于 Haskell 的优先运算符的东西:dollar($)所以我可以写这样的东西:

(max 2,3) == $ max 2,2

或者像这样:

$ max 2,3 == $ max 2,3

并且两个示例都评估为第一个示例?

还是有什么东西可以让我超越 Ruby 中的优先级,比如方法定义中的某个关键字?

4

1 回答 1

4

运算符优先级不可修改。如果要更改默认优先级,请使用括号。

问题出在解析器中(假设您使用maxsplatted 参数进行定义);当不清楚应该如何解析某些内容时,Ruby 的自由空格策略可能会产生问题。

于 2013-08-13T20:14:25.103 回答