我想制作一个程序,在其中我可以将字符串分类并存储到各个组中。对于字符串ex:
“四个疤痕膏的尖叫车”答案应该是:[["scream", "creams"], ["cars", "scar"], ["for"], ["four"]]
对于上面我使用的代码:
here = self.split()
there = here.group_by { |x| x.downcase.chars.sort}.values
我得到了必要的答案。但是当我将代码更改为:
时here = self.split()
there = here.group_by { |x| x.downcase.chars.sort}
我得到答案:
{["a", "c", "e", "m", "r", "s"]=>["scream", "creams"], ["a", "c", "r", "s"]=>["cars", "scar"], ["f", "o", "r"]=>["for"], ["f", "o", "r", "u"]=>["four"]}
我想知道为什么现在这样?我使用命中试验方法得到答案。
答案 0 :(得分:0)
由 Yevgeniy Anfilofyev 评论,values是一种方法,因此
返回一个填充了hash
值的新数组
然而,如果我们删除方法values
,那么我们得到整个哈希,而不仅仅是array
的值。