只需一个级别就可以将数组推送到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"]]