【发布时间】:2015-01-23 03:10:15
【问题描述】:
当我在 Irb 中评估表达式 a = nil || 2008 时,我得到的答案是 2008 并且 a 被分配了正确的值 2008 ||运算符返回他们的第一个参数,除非它是 false 或 nil。
但是当我在 Irb 控制台上执行 a = nil or 2008 之类的操作时,a 被分配了 nil 并且我得到的表达式的评估返回值仍然是 2008。
它与运算符优先级有关吗?我只是想知道为什么它会这样工作,有人可以解释一下吗?
【问题讨论】:
-
这些运算符有不同的优先级。在这样的表达方式中总是使用
||(除非你知道你需要or那里)
标签: ruby