【发布时间】:2019-11-03 13:35:51
【问题描述】:
是否有任何递归方式对由任何其他类型的可排序数据(通常是哈希和数组)组成的哈希进行排序?
我有
tagindex = Hash.new()
tagindex['keywords'] = Hash.new()
tagindex['authors'] = Hash.new()
tagindex['languages'] = Hash.new()
tagindex['licenses'] = Hash.new()
对于tagindex['keywords'] 中的每个key,tagindex['keywords'][key] 是一个数组。
【问题讨论】:
-
任何数据样本?
-
您不能对哈希进行排序,因为它不是有序结构。
-
@Richard-Degenne 不正确,只是没有必要。 ruby
Hashes 从 1.9.3 开始订购(基于密钥插入顺序),您可以使用Enumerable#sort或Enumerable#sort_by对它们进行排序 -
@engineersmnky,您会承认 Ruby 中的许多东西是不必要的,但可能有用。我已经在 SO 上发布了几个答案,它们充分利用了哈希中的键顺序。像现在一样,我经常尝试找到一个,将其链接起来,但没有成功。我会收藏下一个。
-
@CarySwoveland 是的
"CarySwoveland" AND "order" AND "hash" AND "ruby" site:stackoverflow.com返回“大约 364 个结果”