Is there an "official" way to get from the value returned by "hash" to the =
Fixnum that's actually used for hashing?  Or is this considered to be imple=
mentation-dependent?

A few small experiments:

irb(main):001:0> class C
irb(main):002:1> def hash; "abc"; end
irb(main):003:1> end
=3D> nil
irb(main):004:0> a =3D {}
=3D> {}
irb(main):005:0> a[C.new] =3D nil
=3D> nil
irb(main):006:0> class D
irb(main):007:1> def hash; self; end
irb(main):008:1> end
=3D> nil
irb(main):009:0> a[D.new] =3D nil
NoMethodError: undefined method `%' for #<D:0x7c53454>
        from (irb):9:in `[]=3D'
        from (irb):9
        from :0
irb(main):010:0> class D
irb(main):011:1> def % *args; self; end
irb(main):012:1> end
=3D> nil
irb(main):013:0> a[D.new] =3D nil
=3D> nil
irb(main):014:0>

Thanks,
-Curt

--
Curt Hagenlocher
curth / microsoft.com