Я пытаюсь понять разницу между этими четырьмя методами. Я знаю по умолчанию, что ==
вызывает метод equal?
, который возвращает true, когда оба операнда относятся к точно одному и тому же объекту.
===
по умолчанию также вызывает ==
, который вызывает equal?
... okay, поэтому, если все эти три метода не переопределены, то я думаю
===
, ==
и equal?
делают то же самое?
Теперь наступает eql?
. Что это делает (по умолчанию)? Выполняет ли вызов хеш /id операнда?
Почему у Ruby столько знаков равенства? Они должны отличаться в семантике?