红宝石中的操作优先级

Alp*_*neo 0 ruby

我是Ruby的新手,所以如果这个问题很奇怪,请接受我的道歉

我尝试了5-8.abs返回的put -3,然后我尝试了(5-8).abs返回的put 3.

当我尝试看跌时5-8.abs,究竟发生了什么,似乎abs被忽略了?

Sar*_*Mei 9

这是一个优先问题.方法调用,, .abs在减运算符之前计算.

5-8.abs # => equivalent to 5-(8.abs)
Run Code Online (Sandbox Code Playgroud)

可以这样想想 - 在Ruby中,空白并不重要.如果你看到这个,你会发生什么?

5 - 8.abs
Run Code Online (Sandbox Code Playgroud)

这是Ruby优先级规则的参考.