According to the docs, Array.include?
uses the ==
comparison on objects. I come from Java where such things are (usually) done with .equals()
which is easy to override for a particular object.
How can I override ==
in Ruby to allow me to specify the behaviour of Array.include?
for my particular object?
In Ruby ==
is just a method (with some syntax sugar on top allowing you to write foo == bar
instead of foo.==(bar)
) and you override ==
just like you would any other method:
class MyClass
def ==(other_object)
# return true if self is equal to other_object, false otherwise
end
end