Enumerable#sort_by方法如何工作?

时间:2013-07-30 16:47:51

标签: ruby hashmap

任何人都可以清楚这是如何运作的吗?

frequencies = frequencies.sort_by { |a, b| b}   

我理解它会改变哈希显示的顺序,但它是如何做的我不知道。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

Enumerable#sort_by根据给定块的返回值进行排序。 在您的示例中,frequencies似乎是一个哈希。

以下是哈希

上的sort_by示例
 h = {:a => 2, :b => 1, :c => 4}
 #=> {:a=>2, :b=>1, :c=>4}

 h.sort_by {|k, v| v}
 #=> [[:b, 1], [:a, 2], [:c, 4]]