From: Tim Pease Date: 2006-11-15T03:48:42+09:00 Subject: Re: Convert singel dimention array into grid On 11/14/06, Giant Cranes wrote: > Hi, > > I have been learning ruby for the past week and am completely hooked. > Most of the code I am producing is elegant (ruby's credit), although I > am having trouble elegantly converting a single dimension array with 16 > elements into a two-dimension grid [4x4]. > > Here is what I have so far: > > @array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] > @grid = Array.new > > i = 0 > index = 0 > 0.upto(3) do |i| > j = 0 > 0.upto(3) do |j| > @grid[i] = Array.new if j == 0 > @grid[i][j] = @array[index] > index += 1 > j += 1 > end > i += 1 > end > > @grid > Let the golfing commence! require 'enumerator' @array = (1..16).to_a @grid = Array.new(4) {|idx| Array.new(4)} @array.each_with_index do |val, idx| @grid[idx/4][idx%4] = val end Blessings, TwP