From: Markus Schirp Date: 2009-05-27T17:25:53+09:00 Subject: Re: On Hashes - How the hashes printing works? Hashes enumeration does not mirror insertion order. Hashes are not ordered: http://en.wikipedia.org/wiki/Hash_table#Drawbacks Markus On Wed, May 27, 2009 at 05:16:57PM +0900, Neela megha shyam Chivukula wrote: > Hi All, > > I have my code as follows:- > > people = { > "torvalds"=>{"lname"=>"Torvalds", "fname"=>"Linus", > "job"=>"maintainer"}, "matsumoto"=>{"lname"=>"Matsumoto", > "fname"=>"Yukihiro", "job"=>"Ruby originator"}, > "litt"=>{"lname"=>"Litt", "fname"=>"Steve", "job"=>"troubleshooter"} > } > keys = people.keys > for key in 0...keys.length > print "key : ", keys[key], "\n" > print "lname: ", people[keys[key]]["lname"], "\n" > print "fname: ", people[keys[key]]["fname"], "\n" > print "job : ", people[keys[key]]["job"], "\n" > print "\n\n" > end > > O/p:- > key : litt > lname: Litt > fname: Steve > job : troubleshooter > key : matsumoto > lname: Matsumoto > fname: Yukihiro > job : Ruby originator > key : torvalds > lname: Torvalds > fname: Linus > job : maintainer > > Question:- > Why key of "litt" is printed first thought the first key of hash is > "torvalds"? > > Thanks and regards, > Neela. > -- > Posted via http://www.ruby-forum.com/.