On Jun 26, 2006, at 5:06 PM, Alexandru Popescu wrote: > On 6/27/06, Eric Hodel <drbrain / segment7.net> wrote: >> On Jun 26, 2006, at 4:38 AM, Alexandru Popescu wrote: >> >> > I have posted a quick (reminder like) entry about how equality is >> > handled by Ruby and Java: >> > >> > http://themindstorms.blogspot.com/2006/06/parallel-of-equality- >> in-2- >> > worlds-ruby.html >> > >> > However, I feel I have missed to explain correctly why eql? and == >> > are both needed. >> >> #eql? is used to resolve key collisions in hashes. ^^^ This line is the important one. I feel it describes adequately what #eql? is needed for. >> If two objects have the same #hash and are #eql? then they refer to >> the same hash key. If two objects have the same #hash and are not >> #eql? they refer to different hash keys. > > ... and still wondering how is this answering my question (however > thanks for the intention). #eql? is needed because #== doesn't do what #eql? does. Or where you looking for a different answer? -- Eric Hodel - drbrain / segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com