2008/7/4 Peñá, Botp <botp / delmonte-phil.com>: > From: Yukihiro Matsumoto [mailto:matz / ruby-lang.org] > # <botp / delmonte-phil.com> writes: > # |current test: > # | > # |1.9 not sorted > # |1.8.6 not sorted > # |1.8.7 sorted > # | > # |i prefer 1.8.7 default behaviour > # Hmm, from my understanding, 1.9 preserves the order, prior version > # does not. Could you show us the test you got the above conclusion? > > sir Matz, as requested, > >> [RUBY_VERSION, RUBY_RELEASE_DATE, RUBY_REVISION] > => ["1.9.0", "2008-06-20", 17482] > >> RUBY_PLATFORM > => "i386-mswin32" > >> a = [ 1, 2, 3, 4, 7, 9, 11, 12, 13, 14 ] > => [1, 2, 3, 4, 7, 9, 11, 12, 13, 14] > >> a.group_by { |i| i % 3 } > => {1=>[1, 4, 7, 13], 2=>[2, 11, 14], 0=>[3, 9, 12]} > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > at this point, 1.9 and 1.8.7 differs Where exactly? I cannot seem to see it. Above and below look identical. What am I missing? >> h=a.group_by { |i| i % 3 } > => {1=>[1, 4, 7, 13], 2=>[2, 11, 14], 0=>[3, 9, 12]} I get 09:29:30 bas$ ruby --version ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin] 09:29:40 bas$ ruby -e 'p [ 1, 2, 3, 4, 7, 9, 11, 12, 13, 14 ].group_by { |i| i % 3 }' {0=>[3, 9, 12], 1=>[1, 4, 7, 13], 2=>[2, 11, 14]} 09:29:43 bas$ ruby19 --version ruby 1.9.0 (2008-03-01 revision 15664) [i386-cygwin] 09:29:47 bas$ ruby19 -e 'p [ 1, 2, 3, 4, 7, 9, 11, 12, 13, 14 ].group_by { |i| i % 3 }' {1=>[1, 4, 7, 13], 2=>[2, 11, 14], 0=>[3, 9, 12]} And there *is* a difference. Kind regards robert -- use.inject do |as, often| as.you_can - without end