Dave Thomas writes: > matz / netlab.co.jp (Yukihiro Matsumoto) writes: > [...] > Except if you do that, > > [1, 2, 3] > 537680497 > [3, 2, 1] > 537680497 > > Shouldn't there be a shift in there? No, please! I consider this a very nice property of Array#hash! But unfortunately some old behavior is broken with this solution! You cannot do a1 = ["hello", 2, "world"] a2 = ["world", 2, "hello"] a1.hash == a2.hash # Broken! a1.hash 417265 a2.hash 416997 With old implementation, it was possible as both calculated hash numbers was equal! Furthemore I consider this behavior as inconsistent regarding the example you have shown above. > > > Dave > [...] \cle