Combining words in a string into anagrams using ruby
我想制作一个程序,在其中我可以将字母符号的字符排序和存储到单独的组中。对于ex表示字符串:
"四个疤痕膏的尖叫车"答案应该是:
1 | [["scream","creams"], ["cars","scar"], ["for"], ["four"]] |
在上面,我使用了代码:
1 2 | here = self.split() there = here.group_by { |x| x.downcase.chars.sort}.values |
然后我得到了必需的答案。但是当我将代码更改为:
1 2 | here = self.split() there = here.group_by { |x| x.downcase.chars.sort} |
我得到了答案:
1 | {["a","c","e","m","r","s"]=>["scream","creams"], ["a","c","r","s"]=>["cars","scar"], ["f","o","r"]=>["for"], ["f","o","r","u"]=>["four"]} |
我想知道为什么现在是这样?我使用了反复试验法得到了答案。
正如Yevgeniy Anfilofyev所评论的那样,值是一种方法,因此它是
Returns a new array populated with the values from hash
同时,如果删除方法