1
我想了解如何在需要时使用键和/或其子项对ruby哈希进行排序。对于例子:哈希与sub_hashs如何使用动态密钥对Ruby哈希进行排序
例
two_hash = {
'a' => {'displayName' => "A", 'name' => "Apple", 'Association' => {'id' => '1', 'type' => 'B2'}},
'c' => {'displayName' => "D", 'name' => "Banana", 'Association' => {'id' => '1', 'type' => 'B3'}},
'b' => {'displayName' => "C", 'name' => "Orange", 'Association' => {'id' => '1', 'type' => 'B1'}},
'd' => {'displayName' => "B", 'name' => "Kiwi", 'Association' => {'id' => '1', 'type' => 'B4'}}
}
目前我可以这样排序,调用,并指定密钥/子项进行排序。
puts (two_hash.sort_by {|h, k| k['displayName']})
puts (two_hash.sort_by {|h, k| k['Association']['type']})
我想将其转换为一个proc和使用它,每当我想给一个子项的输入。
我想要它,所以我可以传递一个键或一个子键,它会为我排序。像这样,有没有办法在Ruby中做到这一点?
sort_stuff_method(two_hash, ['displayname'])
sort_stuff_method(two_hash, ['Association']['type'])
谢谢你。这正是我所期待的。 –