web-dev-qa-db-ja.com

Rubyの==演算子をオーバーライドする

docs によると、Array.include?==オブジェクトの比較。私はJavaから来ますが、そのようなことは(通常)。equals()で行われ、オーバーライドが簡単です特定のオブジェクト。

Rubyで==をオーバーライドして、Array.include?私の特定のオブジェクト?

どうもありがとう。

34
lynks

Rubyの場合、==は単なるメソッドであり(上部に構文シュガーを使用すると、foo.==(bar)の代わりにfoo == barを記述できるようになります)、他のメソッドと同じように==をオーバーライドします。

class MyClass
  def ==(other_object)
    # return true if self is equal to other_object, false otherwise
  end
end
67
sepp2k