From: Yuri Leikind Date: 2001-09-16T01:18:35+09:00 Subject: [ruby-talk:21209] using my own objects as hash keys - a question Hello all, Could someone explain to me why the following does not work as I expect: class MyObject # will use its objects as hash keys def initialize (someAttr) @someAttr=someAttr end def hash @someAttr.hash end end key1=MyObject.new('qwerty') key2=MyObject.new('qwerty') puts key1.hash == key2.hash #=> true # Naturally hash=Hash.new hash[key1]=6 puts hash[key1] #=> 6 # Ok, as expected puts hash[key2] #=> nil # Why?!! If key1.hash == key2.hash, why doesn't it work? # Same question here puts hash.has_key?(key1) #=> true puts hash.has_key?(key2) #=> false Have I missed something ? I use Ruby 1.6.4 Yuri Leikind