>>57
なるほど。オーバーライドのことがありましたか。
[]もオーバーライドされる可能性があるからですかね。

>>58
単に真偽値を返すだけですけど。
var = obj ? true : false
var = obj ? false : true
を
var = obj.true?
var = obj.false?
とするだけです。
var = obj
とすると、objそのものが代入されてしまいますが、そうじゃなくてboolean値が欲しい場合、あるいはobjを参照させるとまずい場合に使います。自分はよく使うんですけど。

それはそうと、RailsのObject#blank?は便利ですねー。これはぜひ標準でほしいところです。