From: Joel VanderWerf Date: 2010-04-25T06:48:14+09:00 Subject: Re: Metaprogramming - Array initialization Paul A. wrote: > Hi, > > In Ruby, we can declare array as explain in the doc: > http://ruby-doc.org/core/classes/Array.html#M002150 > > That makes possible many kind of use, such as: >>> Array.new(1, Array.new(3, Array.new(2, Array.new(1)))) > => [[[[nil], [nil]], [[nil], [nil]], [[nil], [nil]]]] > > For my needs, I would like to use a code that declare an array of any > arrays that we want. I don't know if it is possible. The above is probably not what you want. Look: >> a=Array.new(3, Array.new(2)) => [[nil, nil], [nil, nil], [nil, nil]] >> a[0][1] = 6 => 6 >> a => [[nil, 6], [nil, 6], [nil, 6]] Try using the block form: >> a=Array.new(3) {Array.new(2)} => [[nil, nil], [nil, nil], [nil, nil]] >> a[0][1] = 6 => 6 >> a => [[nil, 6], [nil, nil], [nil, nil]]