【发布时间】:2021-07-20 09:30:05
【问题描述】:
在 Ruby 中将散列中的每个键值对相互比较的最简单方法是什么?
例如,
我想对这段代码进行排序,使最高的三个值排在第一位。如果第三个位置的值都相同,那么我想要一个最大的 进入那个位置的钥匙。
{"Aa"=>1, "DDD"=>1, "DdD"=>1, "aA"=>1, "aa"=>1, "bb"=>1, "cC"=>1, "cc"=>1, "ddd"=>3, "e"=>7}
我需要上面的哈希是{"e"=>7, "ddd"=>3, "aa"=>1}
【问题讨论】:
-
Ruby 中的哈希旨在作为 无序 数据结构。如果您需要特定顺序的元素,则不应使用哈希。
-
不仅需要订购。它基本上是一个大字符串,必须输出出现次数最多的前三个单词。因此,例如,`("e e e e DDD ddd DdD: ddd ddd aa aA Aa, bb cc cC e e e") == ["e", "ddd", "aa"]'。我先对它们进行计数,然后将它们移动到一个数组中,但后来遇到了一个问题,因为我仍然无法按照我需要的方式对它们进行排序,而且我无法得到数字
-
我可能已经明白了
-
在这种情况下,请考虑发布问题的答案。我们鼓励人们发布自己问题的答案,以帮助未来访问者遇到类似问题。
-
“如果第三个点的值都相同,那么我想要一个最大的键进入那个点” - 是什么让
"aa"成为最大的键?