From: Paul Harrington Date: 2010-08-19T14:00:26+09:00 Subject: Re: Hashes in 1.9 index Iain Barnett wrote: > Since hashes in 1.9 retain their insert order, is there a built in way > to get values by index as well as key? > > For example: > h = { a: 17, b: 18, c: 19 } > > puts h[1] > => 19 > > Obviously that can't work, but there may be some other way I haven't > found by looking through the docs? At the moment I'm using this: > > class Hash > def by_index( n ) > self.each_with_index { |item, index| break item if index == n } > end > end > > Just wondering. > > Regards, > Iain I think the closest to what you want is Hash#to_a Just like irb(main):011:0> h = Hash[:a, 1, :b, 2, :c, 3] => {:a=>1, :b=>2, :c=>3} irb(main):012:0> h.to_a[0][1] => 1 irb(main):013:0> -- Posted via http://www.ruby-forum.com/.