From: Robert Klemme Date: 2009-06-08T02:05:07+09:00 Subject: Re: adding, multiplying array On 07.06.2009 17:31, Rick DeNatale wrote: > On Sun, Jun 7, 2009 at 10:15 AM, Haris > Bogdanović wrote: >> a.zip(b).map {|i,j| i*j} (don't really know how that works) > > zip weaves two enumerables together and creates a new enumerable: > > a.zip(b) # => [[2, 3], [2, 3], [2, 3]] This is true only if you do not provide a block: irb(main):007:0> a = Array.new 5 do |i| i end => [0, 1, 2, 3, 4] irb(main):008:0> b = Array.new 5 do |i| i * 2 end => [0, 2, 4, 6, 8] irb(main):009:0> a.zip(b) {|x,y| printf "%d - %d\n",x,y} 0 - 0 1 - 2 2 - 4 3 - 6 4 - 8 => nil Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/