From: Sandro Paganotti Date: 2008-05-06T23:10:13+09:00 Subject: Re: trying to create an array with AA-ZZ for dutch postal codes I'm having fun with arrays; here's my version: ((a = ('A'..'Z').to_a) * (b=a.length)).zip(a.collect{|e| [e]*b}.flatten).collect{|e| e.join}.join("\n") On Tue, May 6, 2008 at 2:05 PM, aleister wrote: > On May 6, 3:54 pm, Peter Hickman wrote: > > > > bookie...@gmail.com wrote: > > > the array postcodes should be filled with strings starting looking > > > like > > > > > ["AA",AB",AC"..."BA","BB","BC" to "ZZ"] 26*26 entries. > > > > > i've come up with the following to create it, > > > > > postcodes = Array.new > > > > > # create postal codes array > > > > > W = String.new() > > > X = String.new() > > > > > (A..Z).each do |W| { > > > > > puts W > > > (A..Z).each do |X| { > > > postcodes.push("#{W}#{X}") > > > > > } > > > } > > > > > puts(postcodes) > > > > > this code produces > > > > > hpricot-test.rb:20: syntax error, unexpected tCONSTANT, expecting kDO > > > or '{' or '(' > > > hpricot-test.rb:22: odd number list for Hash > > > hpricot-test.rb:25: syntax error, unexpected '}', expecting kEND > > > hpricot-test.rb:57: syntax error, unexpected $end, expecting kEND > > > > > what am i doing wrong, is there an easier (rubier) way? > > > > Sorry but there are many errors here: First some code that works: > > > > postcodes = Array.new > > > > ('A'..'Z').each do |x| > > ('A'..'Z').each do |y| > > postcodes << "#{x}#{y}" > > end > > end > > > > puts(postcodes) > > > > Note that the A..Z is now 'A'..'Z'. This is because A is a reference to > > a constant called A which you haven't defined but 'A' is a upper case > > letter. > > > > When doing a xxx.each you can do it either way: > > > > ('A'..'Z').each do |x| > > puts x > > end > > > > or > > > > ('A'..'Z').each {|x| > > puts x > > > > } > > > > You seem to be mixing both. > > > > Your use of W and X as variables. Firstly upper case letters are > > constants so you can not use them as looping variables. Infact you do > > not need to predeclare the variables at all. > > thanx > > -- Go outside! The graphics are amazing!