Ruby:为什么`puts true and false`返回true?

时间:2018-09-03 15:10:34

标签: ruby boolean boolean-logic

在Ruby中,我刚刚注意到:

  • puts true and false返回true,而
  • puts (true and false)puts false and true都返回false

此行为背后的逻辑/原因是什么?

1 个答案:

答案 0 :(得分:2)

因为puts的绑定强度大于and:您的代码等于

(puts true) and false
true
#=> nil

您可以检查运算符precedence in docs

要获得可以使用的&&,它的优先级要高于and

puts true && false
false
#=> nil