在 Ruby 中合并数组的惯用方式?

Idiomatic way of merging arrays in Ruby?

鉴于我有两个如下所示的数组:

array1 = [
  [1, 2],
  [3, 4],
]

array2 = [:a, :b]

将它们组合成新数组的最佳方法是什么,如下所示:

[
  [1, 2, :a],
  [3, 4, :b],
]

我希望有一种方法可以做到这一点,而无需遍历其中一个数组并使用它的索引从另一个数组中获取元素...是否有更好的方法 ruby?

试试这个:

array1.zip(array2).map(&:flatten) #=> [[1, 2, :a], [3, 4, :b]]
(array1.transpose+[array2]).transpose
  #=> [[1, 2, :a], [3, 4, :b]]