- Ruby 初心者スレッド Part 56©2ch.net
662 :デフォルトの名無しさん[sage]:2015/02/09(月) 01:48:07.63 ID:nauiaCPK - > false == Hoge.new
> => false メソッド False#==(other) は自身のクラス TrueClass と引数 other のクラス Hoge が 同値でないから、false を返している > Hoge.new == false > =>true メソッド Hoge#==(other) は(引数 other が何であれ)常に false オブジェクトを 返すよう定義されている どこにもおかしな振る舞いは見当たらないけど、 もしも「右辺と左辺を取り替えて評価しても結果が同じになる」ことを期待しているならば、 >>660 におけるクラス Hoge の定義が間違っている、と言うしかないね
|
- Ruby 初心者スレッド Part 56©2ch.net
663 :662[sage]:2015/02/09(月) 01:49:40.94 ID:nauiaCPK - 訂正
X: メソッド False#==(other) は .... O: メソッド FalseClass#==(other) は ....
|
- Ruby 初心者スレッド Part 56©2ch.net
664 :662[sage]:2015/02/09(月) 01:52:57.92 ID:nauiaCPK - 訂正、もう一つ
X: .... 自身のクラス TrueClass と .... O: .... 自身のクラス FalseClass と ....
|