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 -- http://www.rubypowerandlight.com => Ruby/Rails training & consultancy http://www.manning.com/black => RUBY FOR RAILS (reviewed on Slashdot, 7/12/2006!) http://dablog.rubypal.com => D[avid ]A[. ]B[lack's][ Web]log dblack / wobblini.net => me