我从根本上误解了
Ruby吗?我一直在编写
Ruby代码大约2年,只是今天偶然发现…
ruby-1.8.7-p249 > i = true and false => false ruby-1.8.7-p249 > i => true
有人可以解释这里发生了什么吗?我确定这是规范,但它似乎对我来说是直觉的…
解决方法
操作符&&并且具有不同的优先级,并且=恰巧在之间.
irb(main):006:0> i = true and false => false irb(main):007:0> i => true irb(main):008:0> i = true && false => false irb(main):009:0> i => false irb(main):010:0>
第一个读为(i = true)和false,第二个为i =(true&& false).