From: "Mehr, Assaph (Assaph)" Date: 2004-09-21T10:23:51+09:00 Subject: Re: Filling a 2D array > @tileArray = Array.new() > @height.times {@tileArray.push Array.new(@width, Tile.new)} @height.times {@tileArray.push Array.new{@width, Tile.new}} ^ ^ As always, when you need to initialize an array with new objects per cell (rather than references to the same object) use the block form. You had initialized the first array correctly, but must have mistyped for the inner array creation :-)