Ruby 中的布尔表达式 - or 和 || 之间的区别[复制]
Posted
技术标签:
【中文标题】Ruby 中的布尔表达式 - or 和 || 之间的区别[复制]【英文标题】:Boolean expression in Ruby - difference betwen or and || [duplicate] 【发布时间】:2013-10-08 21:32:07 【问题描述】:有人可以向我解释一下以下两行代码的区别吗?
puts false or true or false or false or false
我不明白为什么该行的执行结果假设与以下不同:
puts false || true || false || false || false
如果有人能向我解释一下,我将不胜感激。
【问题讨论】:
您想要多少个答案?去这里***.com/search?q=%5Bruby%5D+%22%7C%7C%22+%22or%22 【参考方案1】:Ruby 从 Perl 继承了一些控制流。所以在 Ruby 中,and
和 or
用于控制流,&&
和 ||
是布尔运算符。这也意味着and
和or
的优先级高于&&
和||
例如:
and
的用法如下:
(true) and puts `true`
相当于
if true then
puts "true"
end
和&&
应该像这样使用:
true && false
这是false
。
【讨论】:
【参考方案2】:p false or true #=> false => same as (p false) or true
p false || true #=> true => same as p (false or true)
【讨论】:
以上是关于Ruby 中的布尔表达式 - or 和 || 之间的区别[复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥`return a or b`是Ruby中的空值表达式错误?
2021-06-03:布尔运算。给定一个布尔表达式和一个期望的布尔结果 result,布尔表达式由 0 (false)1 (true)& (AND) | (OR) 和 ^ (XOR) 符(代码