Ruby は #!= 内で #== が呼ばれる
#!= 内で #== が呼ばれているため、#== を再定義すると #!= にも影響が及びます。
[コード]
class X def == other p "==" true end end X.new == "" # => true X.new != "" # => false
[出力]
"==" "=="
#== に副作用があるとちょっと注意する必要があるかも。
#!= 内で #== が呼ばれているため、#== を再定義すると #!= にも影響が及びます。
class X def == other p "==" true end end X.new == "" # => true X.new != "" # => false
"==" "=="
#== に副作用があるとちょっと注意する必要があるかも。