在Ruby中,我刚刚注意到:
puts true and false
返回true
,而puts (true and false)
和puts false and true
都返回false
。 此行为背后的逻辑/原因是什么?
答案 0 :(得分:2)
因为puts
的绑定强度大于and
:您的代码等于
(puts true) and false
true
#=> nil
您可以检查运算符precedence in docs。
要获得可以使用的&&
,它的优先级要高于and
:
puts true && false
false
#=> nil