相关疑难解决方法(0)

使用括号和不使用括号的方法调用的优先级是什么?

以前的答案

回答一个类似的问题是错误的.

在Ruby 文档社区维基中都没有提到方法调用.

没有括号的方法调用

比......高 or

or 似乎优先级低于没有括号的方法调用:

puts false or true
Run Code Online (Sandbox Code Playgroud)

相当于

( puts false ) or true
Run Code Online (Sandbox Code Playgroud)

和显示false.

注意:我知道or不应该使用.不过,这是一个很好的例子,表明某些运算符的优先级低于方法调用.

低于 ||

puts false || true
Run Code Online (Sandbox Code Playgroud)

相当于

puts (false || true)
Run Code Online (Sandbox Code Playgroud)

和显示true.

用括号调用方法

用于方法调用的括号似乎不是分组:

puts(false or true)
# SyntaxError: unexpected keyword_or
puts((false or true))
#=> true
Run Code Online (Sandbox Code Playgroud)

带括号和不带括号的方法调用应该在这个优先级表中的哪个位置?

赏金澄清

我正在寻找表中方法调用的确切位置.优选地,通过示例证明它低于前一个并且高于下一个.

目前的答案似乎也没有提到带括号的方法调用.

提前致谢!

ruby methods operator-precedence

9
推荐指数
1
解决办法
581
查看次数

标签 统计

methods ×1

operator-precedence ×1

ruby ×1