```

> -----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]}}

[[[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
> > 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]] }
> >
> >
> >
>
>
>

```