-1

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

puts false or true or false or false or false

我不明白为什么该行的执行结果假设与以下不同:

puts false || true || false || false || false

如果有人可以向我解释这一点,我将不胜感激。

4

2 回答 2

2
p false or true #=> false => same as  (p false) or true
p false || true #=> true  => same as  p (false or true)
于 2013-10-02T13:37:26.760 回答
0

Ruby 从 Perl 继承了一些控制流。所以在 Ruby中and,andor用于控制流,&&and||是布尔运算符。这也意味着andandor的优先级高于&&and||

前任:

and像这样使用:

 (true) and puts `true`

这相当于

if true then
  puts "true"
end

并且&&应该像这样使用:

true && false

这是false

于 2013-10-02T13:39:37.983 回答