使用代码点时,text.inject("",:<<)在Ruby中做了什么?

时间:2016-05-27 17:41:42

标签: ruby

我正在尝试为The Odin Project Ruby课程建立一个密码,我需要将我创建的一系列字母中的所有字母放回一个大字符串中,所有字母都包含在其中

text.inject("", :<<)
它似乎做了伎俩。我想知道是否有人可以解释注入方法以及如何将字母重新组合在一个大字符串中。

我正在使用的数组是

["W", "h", "a", "t", " ", "a", " ", "s", "t", "r", "i", "n", "g", "!"]

1 个答案:

答案 0 :(得分:3)

"foo" << "bar"将字符串"foo""bar"加入"foobar"

["W", "h", "a", "t", " ", "a", " ", "s", "t", "r", "i", "n", "g", "!"].inject(:<<)

在数组元素之间插入<<(即其中的每个字符串),等同于

"W" << "h" << "a" << "t" << " " << "a" << " " << "s" << "t" << "r" << "i" << "n" << "g" << "!"

:<<Symbol,它是String的方法<<的名称。