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
"==" "=="
#==
に副作用があるとちょっと注意する必要があるかも。