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



有人可以向我解释以下两行代码的区别吗?

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 中,andor 用于控制流,&&|| 是布尔运算符。这也意味着andor的优先级高于&&||

前任:

and的使用方式如下:

 (true) and puts `true`

相当于

if true then
  puts "true"
end

&&应该像这样使用:

true && false

这是false.

最新更新