>>>>> "A" == =?iso-8859-1?Q?Aleksi Niemel=E4?= <iso-8859-1> writes: [...] >> b = a.sort {|x| x[1][0] <=> x[0][0] } [...] A> While current way might does the job I have to say it's very ackward to me. A> Other sorts (Enumerabled) are passed |a,b|. That would have been more A> natural to me. pigeon% cat b.rb #!/usr/bin/ruby a = {1 => 2, 3 => 4} b = a.sort {|x, y| y[0] <=> x[0] } p b pigeon% b.rb [[3, 4], [1, 2]] pigeon% A> On the case of hashes I might consider even |a_key, a_value, b_key, A> b_value|. pigeon% cat b.rb #!/usr/bin/ruby a = {1 => 2, 3 => 4} b = a.sort {|(x1, x2), (y1, y2)| y1 <=> x1 } p b pigeon% b.rb [[3, 4], [1, 2]] pigeon% Guy Decoux