有人可以向我解释以下两行代码的区别吗?
puts false or true or false or false or false
我不明白为什么该行的执行结果假设与以下不同:
puts false || true || false || false || false
如果有人可以向我解释这一点,我将不胜感激。
p false or true #=> false => same as (p false) or true
p false || true #=> true => same as p (false or true)
Ruby 从 Perl 继承了一些控制流。所以在 Ruby中and
,andor
用于控制流,&&
and||
是布尔运算符。这也意味着and
andor
的优先级高于&&
and||
前任:
and
像这样使用:
(true) and puts `true`
这相当于
if true then
puts "true"
end
并且&&
应该像这样使用:
true && false
这是false
。