“Ruby-ish”使用多个数组的参数创建类的新实例的方法?

时间:2011-04-29 03:26:44

标签: ruby

在数组中的同一索引位置创建具有多个数组参数的类的新实例的“ruby-ish”方法是什么?

例如,我现在正在做:

array1.each_with_index { |element, i|
     MyClass(element, array2[i], array3[i], array4[i])
}

这很好用,但我觉得这不是ruby-ish。还有另一种方法可以在Ruby中执行此操作吗?

- 德里克

2 个答案:

答案 0 :(得分:5)

[array1, array2, array3, array4].transpose.map{|args| MyClass(*args)}

答案 1 :(得分:0)

array1.zip(array2, array3, array4){|args| MyClass(*args) }

但要注意不同的数组大小 - 比如在你的例子中,如果它们比array1长,它将丢弃array2-4的数组元素。