我有一组单词字符串,我将它们变成一个哈希,按字符串的大小分组。我这样做是:
hash = set.group_by(&:size)
导致
hash = {5=>[apple, andys, throw, balls], 7=>[bananas, oranges]}
我想进一步按第一个字母对哈希值进行分组,因此最终结果如下所示:
hash = {5=>{a=>[apple, andys],b=>[balls],t=>[throw]}, 7=>{b=>[bananas], o=>[oranges]}}
我试着把
hash.each_value do | value |
value = value.group_by(&:chr)
end
在第一个之后,group_by
但这似乎只返回原始哈希。(&:size)
诚然,我是一名 ruby 初学者,所以如果我被要求将其写出来,我不确定我是否可以一口气做到这一点,或者确切地说,符号是如何工作的。想法?