From: Daniel Martin Date: 2006-06-28T03:25:40+09:00 Subject: Re: Speaking of eql? Daniel Martin writes: > The problem with that is that the default definition of eql? is: > > def eql?(other) > self == other > end Never mind. I was misled by the html ruby manual on my system which states: eql?(other) Checks if two objects are equal. This method is used by Hash to compare whether two keys are same. When this method is redefined, the hash method should be updated. The default definition of the method eql? is like blow: def eql?(other) self == other end I now wonder what version that manual is from, because the text doesn't match what I see on http://ruby-doc.org/core/ That said, now that it's clear eql? doesn't work like that, we should say that redefining == without redefining eql? probably isn't something you want to do.