【发布时间】:2018-04-19 22:32:28
【问题描述】:
我有以下哈希:
scores = {
"Charlie" => 0
"Delta" => 5
"Beta" => 2
"Alpha" => 0
}
列出的数字是整数,团队表示为字符串。
如何按分数对列表进行排序,如果有平局,按字母顺序列出,然后输出?
我想象预期的输出如下所示:
1. Delta, 5 pts
2. Beta, 2 pts
3. Alpha, 0 pts
4. Charlie, 0 pts
我对哈希进行了排序,但如果出现平局,我不确定如何按字母顺序排序。我使用的代码如下:
scores = Hash[ scores.sort_by { |team_name, scores_array| scores_array.sum.to_s } ]
【问题讨论】:
-
我发现该链接非常有用,更不用说它并没有真正解释如果有平局时如何按第二个键排序。查看我的编辑。
-
您的示例数据中没有平局。
-
我编辑了我的问题以显示一个领带的例子@Stefan
标签: ruby