Ruby:为什么`puts true和false`返回true? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby:为什么`puts true和false`返回true? [重复]相关的知识,希望对你有一定的参考价值。

在Ruby中,我刚刚注意到:

  • puts true and false返回true,而
  • puts (true and false)puts false and true返回两个false

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

答案

因为putsand更强大:你的代码等于

(puts true) and false
true
#=> nil

你可以查看运营商precedence in docs

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

puts true && false
false
#=> nil

以上是关于Ruby:为什么`puts true和false`返回true? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

基本数据类型

使用 Ruby 的“准备好了吗?”带有gets、puts等的IO方法

如何在 Ruby 中记忆一个可能返回 true、false 或 nil 的方法?

Ruby 中的布尔表达式 - or 和 || 之间的区别[复制]

线程queue

Ruby 守护进程 - 啥是监视器,它是如何工作的?