Ruby:Hash 排序
people = { :fred => 23, :joan => 18, :pete => 54 }
年龄排序:
people.values.sort # => [18, 23, 54]
姓名排序:
people.sort_by { |name, age| age } # => [[:joan, 18], [:fred, 23], [:pete, 54]]
或者
people.sort
一个复杂点的hash
people = { :fred => { :name => "Fred", :age => 23 }, :joan => { :name => "Joan", :age => 18 }, :pete => { :name => "Pete", :age => 54 } }
people.sort_by { |k, v| v[:age] } # => [[:joan, {:name=>"Joan", :age=>18}], [:fred, {:name=>"Fred", :age=>23}], [:pete, {:name=>"Pete", :age=>54}]]