2016-05-31 218 views
-3

我有一个数组:遍历数组红宝石

contacts = Array.new(arg1, arg2, arg3, arg4) 

我想创建一个循环,将采取阵列,并填写现场与数组一样:

while contacts.index[0] < contacts.index[3] 
    fill_in('field', with: contacts) 
    ... 
    contacts +=1 
end 

它告诉我我有错误的论点数

ArgumentError: wrong number of arguments (4 for 0..2) 

有什么我失踪了吗?

+3

你费心寻找到的文档['Array'(HTTP迭代://红宝石文档。组织/核心-2.3.1/Array.html)? – Stefan

+0

斯蒂芬,我做过了,但是这是一个简单的例子,让我有点困惑,否则我不会问这个问题 – Tom

回答

2

它不存在构造函数Array需要可变数量的参数。你可以这样做

contacts = [arg1, arg2, arg3, arg4] 

然后,您可以用each方法

contacts.each do |contact| 
    puts contact 
end 
+1

谢谢,我可以看到我现在出了什么问题。我会尽快接受答案 – Tom