只需一个级别就可以将数组推送到ruby上的数组中

鉴于:

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

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

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

 a.concat(b) 

………………………….

 a = [[1,"a"],[2,"b"]] b = [[3,"c"],[4,"d"]] a[a.length, 0] = b a # > [[1, "a"], [2, "b"], [3, "c"], [4, "d"]] 

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 
 > b.inject(a, :<<) #=> [[1, "a"], [2, "b"], [3, "c"], [4, "d"]] 

关于什么?

 a.push(b.shift) while b.any? 

这个怎么样?

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