From: ThoML Date: 2008-07-15T05:35:28+09:00 Subject: Re: how to loop through two arrays in parallel > orderlist = products.zip(quantity) If you don't want to create a new array but work on the values you could also use an iterator/enumerator. quant_enum = quantity.enum_for products.each {|prod| do_something(prod, quant_enum.next)} I don't know though if this performs better/worse than #zip or #each_with_index as proposed above/below.