1
> test = false and true
=> false
> test
=> false
> test = true and false #this is the point I don't understand!
=> false
> test
=> true

为什么 ruby​​ 会以这种方式运行,我该如何正确使用它才不会遇到这个问题?

4

1 回答 1

10

优先权。 test = true and false这意味着:

(test = true) and false  

不是这个:

test = (true and false)

如果您希望分配排在最后,请使用上述括号,或者&&代替:and

test = true && false
于 2012-04-20T15:37:16.523 回答