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