是否可以在红宝石中使用Hash
,例如
{"aaa" => 255, "abc" => 255, "acb" => 255, "dcv" => 2300, "abe" => 1}
然后将其分类为Array
这样的
[["dcv", 2300], ["aaa", 255], ["abc" => 255], ["acb" => 255], ["abe", 1]]
使用sort_by
方法?这种排序应该产生一个数组数组,这些数组首先按数字顺序排序,然后按照字符顺序按字母顺序按字母顺序排序。
答案 0 :(得分:4)
h = {"aaa" => 255, "abc" => 255, "acb" => 255, "dcv" => 2300, "abe" => 1}
h.sort_by { |k,v| [-v,k] }
# => [["dcv", 2300], ["aaa", 255], ["abc", 255], ["acb", 255], ["abe", 1]]
答案 1 :(得分:0)
另一种解决方法
h = h.sort_by { |k,v| v }.reverse
puts h.inspect