From: Javier Valencia Date: 2006-07-25T22:47:42+09:00 Subject: Re: Hash order bug? dblack@wobblini.net wrote: > Hi -- > > On Tue, 25 Jul 2006, Javier Valencia wrote: > >> I have this piece of simple code: >> >> ---------------------------------------------- >> def foo >> return 5 >> end >> >> a = {:gr => false, :und => false, :det => true, :sta => false, :inv >> => false} >> puts a.inspect >> ---------------------------------------------- >> >> when I execute it i get a totally unordered hash: >> >> ---------------------------------------------- >> ruby pro.rb >> {:inv=>false, :gr=>false, :und=>false, :det=>true, :sta=>false} >> ---------------------------------------------- >> >> Now, i delete the foo function from the code (the foo function don't >> do nothing at all), and i get a well ordered hash: >> >> ---------------------------------------------- >> ruby pro.rb >> {:gr=>false, :und=>false, :det=>true, :sta=>false, :inv=>false} >> ---------------------------------------------- >> >> >> What's happening? all my code is behaving wrong because of that. > > > Hashes are unordered. If you need an ordered collection, you'll need > to use an array. > > > David > Oh my god, i didn't know it, sorry. Is that a missing feature?