From: ES Date: 2005-10-13T13:15:03+09:00 Subject: Re: array1 + array2 newb question Mike Schramm wrote: > Hey all, > > I'm a ruby newbie, so this will be obvious, but I can't figure it out. > > I'm trying to create a map grid from arrayed names of streets. I want > to go from [1,2,3] and [a,b,c] to [[1,a], [2,a], [3,a], [1,b],... [3,c]]. > > so far the closest I have gotten is > > a1.collect!{|x| [x, a2.collect!{|y| y}]} > > which returns-- well you can try it if you like, but it's not right. > Instead of just returning one value of a2 at a time, it returns the > whole thing every time. I'm guessing I need to somehow cycle through > each element of a2 (ie a2[0], a2[1], a2[2]), but I can't figure it out. > > You guys will probably eat this up. What am I so obviously doing wrong? You are close but there is no cookie for you! :) You are just constructing the Array at the wrong place. [1,2,3].map {|i| [:a, :b, :c].map {|l| [i, l]}} (Substitute #collect for #map if you wish.) Does that make sense? > Mike E