【问题标题】:Boolean expression in Ruby - difference betwen or and || [duplicate]Ruby 中的布尔表达式 - or 和 || 之间的区别[复制]
【发布时间】:2013-10-08 21:32:07
【问题描述】:

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

puts false or true or false or false or false

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

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

如果有人能向我解释一下,我将不胜感激。

【问题讨论】:

标签: ruby boolean


【解决方案1】:

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

例如:

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)
    

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 1970-01-01
      • 2023-04-07
      • 2010-10-09
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多