演算子の優先順位
(高) ! ~ ** * / % + - << >> & | ^ > >= < <= == != && || .. ... ?: = not and or (低)
<と&&では<のほうが優先順位が高い。なので次の結果は納得できるだろう。
irb(main):001:0> num = 1 < 2 && 5 5 irb(main):001:0> num = 1 > 2 && 5 false
このようにrubyの変数に5(true値)やfalse値を入れ、処理を継続するのは通常の使い方である。 Objective-Cでは、数値型はprimitiveとNSNumberの2種類あるが、 rubyではprimitive型の数値は存在しないので、数値が入る部分にfalseやnilを入れて扱うのが 通常の利用方法のようである。