From: George Ogata Date: 2004-08-06T10:41:27+09:00 Subject: Re: Sets are not extensional Kristof Bastiaensen writes: > {}.hash == {}.hash > => false > Set[].hash == Set[].hash > => false > [].hash == [].hash > => true > > I have no idea for the reason why different hashes have different > hashvalues, while different arrays may get the same value (based on the > contents of the array). This seems like a blatant bug to me. `a.eql? b' must imply `a.hash == b.hash', yet: irb(main):001:0> a = {}; b = {} => {} irb(main):002:0> a.eql?(b) => true irb(main):003:0> a.hash == b.hash => false