Ruby の and を使った代入する時

CoffeeScript の気持ちで書いていたのではまりまくった。

ここに全部書いてある。 演算子式 (Ruby 2.1.0)

min, max, value = [1, 10, 100]
ok = min <= value and value <= max
puts ok # => true

= の優先度は and より高いので上の例だと ok == true になる。

ok = (min <= value and value <= max)
puts ok # => false

and&& は同じではない。優先順位は and < = < &&になる。

ok = min <= value && value <= max
puts ok # => false