From: Logan Capaldo Date: 2006-03-07T07:00:18+09:00 Subject: Re: What is the best way to iterate through two containers of the same length? On Mar 6, 2006, at 4:48 PM, Mark Watson wrote: > If I have two containers c1 and c2 of the same length, what is the > proper "Ruby way" to do this: > > c1.length.times {|i| > # access c1[i], c2[i] > } > > I like that Ruby container classes provide their own iterators, but > what I would like to have is something like: > > (c1,c2).each {|x1,x2| .... } > > I thought of writing my own iterator class so that I could do > something > like: > > Iterator.new(c1,c2).each {|x1,x2| .... } > > but that looks clumsy and inefficient. > > I am transitioning to using mostly Ruby (moving away from Java, Lisp, > and Smalltalk) and I would like to use the proper Ruby idioms. > > Well there is zip: irb(main):001:0> [1,2,3].zip([4,5,6]) do |a, b| irb(main):002:1* puts "#{a} #{b}" irb(main):003:1> end 1 4 2 5 3 6 => nil