Thanks guys, that'll do it. In the interests of making my little problem applicable to more than just me, I wasn't correctly thinking about the method as receiving a block of code, I thought it was going the other way and plugging the variable in wherever I placed it. Thanks again for the help. Mike >> 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? >