> -----Original Message-----
> From: Devin Mullins [mailto:twifkak / comcast.net] 
> Sent: Thursday, October 13, 2005 6:22 AM
> To: ruby-talk ML
> Subject: Re: array1 + array2 newb question
> 
> AHH! Nevermind. I can't read.
> 
> a1=[1,2,3]
> a2=%w{a b c}
> a2.map {|o2| a1.map {|o1| [o1,o2]}}

leads to
[[[1, "a"], [2, "a"], [3, "a"]], [[1, "b"], [2, "b"], [3, "b"]], [[1,
"c"], [2, "c"], [3, "c"]]]

which isn't equal to

[[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"], [3, "a"],
[3, "b"], [3, "c"]]

cheers

Simon

> Devin
> 
> Devin Mullins wrote:
> 
> >> 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]].
> >
> >
> >
> > Given:
> >
> > a1=[1,2,3]
> > a2=%w{a b c}
> >
> > The brute force way:
> >
> > a = []; a1.length.times {|i| a << [a1[i],a2[i]]}
> >
> > The Ruby Way:
> >
> > a = a1.zip a2
> >
> > Plenty of other ways, too, using inject, Enumerator, etc. I'm sure 
> > they'll all be contributed in a few minutes.
> >
> > collect! is a whole 'nother beast -- it can be munged to do 
> the task 
> > at hand,* but isn't quite appropriate, since it doesn't 
> tell the block 
> > what index you're currently at. Have you read the ri 
> documentation on it?
> >
> > Devin
> >
> > *i = -1; a1.collect! { i+=1; [a1[i],a2[i]] }
> >
> >
> >
> 
> 
>