有什么区别or||Ruby 中的运算符?

答案

这是操作员优先级的问题。

||比优先级高or

因此,在两者之间,您还有其他运营商,包括三元(? :)和作业(=)因此,您选择哪一个可以影响语句的结果。

这是一个红宝石操作员优先表

这个问题对于另一个示例and/&&

另外,请注意可能发生的一些讨厌的事情:

a = false || true  #=> true
a  #=> true

a = false or true  #=> true
a  #=> false

前两个陈述都评估为true,但第二组afalse自从=优先级低于||但高于or

来自: stackoverflow.com