如何在ruby中组合相同大小的多个数组

时间:2014-07-10 21:08:28

标签: ruby arrays

如果我有3个或更多阵列我想组合成一个,我该如何在ruby中做到这一点?这会是拉链的变化吗?

例如,我有

a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9]

我希望有一个看起来像

的数组

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

2 个答案:

答案 0 :(得分:6)

[a,b,c].transpose

就是你所需要的。我更喜欢50%的时间zip

答案 1 :(得分:2)

我会使用Array#zip,如下所示:

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
a.zip(b, c)
#=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]