将数组推送到ruby上的数组只需一个级别

时间:2015-08-27 04:11:48

标签: arrays ruby immutability

假设:

a = [[1,"a"],[2,"b"]]
b = [[3,"c"],[4,"d"]]

我想将a变成[[1,"a"],[2,"b"][3,"c"],[4,"d"]]。如果没有+怎么办呢?它创建了一个我想避免的新数组。

(a << b).flatten(1)
# => [1, "a", 2, "b", [3, "c"], [4, "d"]]

4 个答案:

答案 0 :(得分:2)

a.concat(b)

...............................

答案 1 :(得分:1)

concat就是答案,但你可以这样做:

a.object_id    #=> 70223889895340
a.replace(a+b) #=> [[1, "a"], [2, "b"], [3, "c"], [4, "d"]]
a              #=> [[1, "a"], [2, "b"], [3, "c"], [4, "d"]]
a.object_id    #=> 70223889895340 

答案 2 :(得分:0)

怎么样?

name="something[]"

答案 3 :(得分:0)

这个怎么样?

a + b 
=> [[1, "a"], [2, "b"], [3, "c"], [4, "d"]]