使用ruby将字符串中的单词组合成字谜

时间:2014-11-23 07:34:20

标签: ruby regex split group-by

我想制作一个程序,在其中我可以将字符串分类并存储到各个组中。对于字符串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"]} 

我想知道为什么现在这样?我使用命中试验方法得到答案。

1 个答案:

答案 0 :(得分:0)

Yevgeniy Anfilofyev 评论,values是一种方法,因此

  

返回一个填充了hash

值的新数组

然而,如果我们删除方法values,那么我们得到整个哈希,而不仅仅是array的值。