問題
単純にand
、or
を代入で使うと死ぬ
例
x = false or true # => true なのに ...
p x # => false !!!!
x = true or false # => true
p x # => true
x = false and true # => false
p x # => false
x = true and false # => false なのに ...
p x # => true !!!!
なぜか
and
、or
は=
より優先順位が低い
x = false or true
# は (x = false) or true と解釈されるので ...
回避方法
x = (false or true)
x = false || true
x = (false and true)
x = false && true