On 8/23/07, Ronald Fischer <ronald.fischer / venyon.com> wrote:
> Let h be a Hash. Calculating the arrays
>
>   k=h.keys
>   v=h.values
>
> under the assumption that h is not modified
> in between, is it guaranteed that for all
> indices n
>
>   h[k[n]]==v[n]
>
> i.e. that Hash#values delivers the values
> in the same order than Hash#keys delivers
> the respective keys?
>
> When playing around, I found this always
> the case, but can I rely on it?
Looks like for 1.8.6, I just had a quick look at the sources and both use
rb_hash_foreach, just with a different extractor function.
Now I cannot be sure if some internal events like GC might change the
structure of the underlying hash that could lead to different results,
would surprise me though...

HTH
Robert
-- 
[...] as simple as possible, but no simpler.
-- Attributed to Albert Einstein