在Ruby中将多个新值附加到现有哈希键

时间:2015-12-16 09:43:27

标签: arrays ruby hash

我有现有密钥的哈希:

my_hash["paths"] = ["tests/**"]

我必须在键paths附加多个值。

现在,我正在这样做:

my_hash["paths"] << "new path"
my_hash["paths"] << "an other new path"
... and so on

我想在一行中完成。比如说,有一个值列表,我可以直接将其推入现有密钥。

我很乐意帮忙。谢谢。

5 个答案:

答案 0 :(得分:5)

仅仅为了选择,这是另一种方法:

my_hash["paths"] += ["new path", "an other new path"]

答案 1 :(得分:3)

使用push

my_hash["paths"].push("new path", "an other new path")

Demo

答案 2 :(得分:2)

如果您的my_hash['paths']Array,则可以使用concat方法:

my_hash['paths'].concat(paths_array)

答案 3 :(得分:1)

这应该有效:

my_hash["paths"].concat(["new path", "an other new path"])

答案 4 :(得分:1)

稍微修改 shivam's answer

> my_hash["paths"] |= ["new path", "an other new path", "tests/**", "new path", "an other new path"]
#=> ["tests/**", "new path", "an other new path"]

注意:这不允许推送重复录入..

Demo