0

我想创建一些作为数组值的常量,但是当我尝试连接它们时似乎遇到了问题。

MALE_TOKENS = %w(m male)
#=> ["m", "male"]
FEMALE_TOKENS = %w(f w female)
#=> ["f", "w", "female"]
GENDER_TOKENS = MALE_TOKENS.concat FEMALE_TOKENS
#=> ["m", "male", "f", "w", "female"]
MALE_TOKENS
#=> ["m", "male", "f", "w", "female"]

请注意,在concatenation 之后,MALE_TOKENSnow 包含FEMALE_TOKENS. 我不想要这个。

我如何将事物分开?

4

1 回答 1

3

Array#concat改变接收者:

将 +other_ary+s 的元素附加到self.

要不更改MALE_TOKENS值,您可以使用Array#+

GENDER_TOKENS = MALE_TOKENS + FEMALE_TOKENS
#=> ["m", "male", "f", "w", "female"]

MALE_TOKENS
#=> ["m", "male"]
FEMALE_TOKENS
#=> ["f", "w", "female"]
于 2017-05-05T19:26:19.740 回答