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