Christian wrote:
> i have a little Java problem, I want to solve using Ruby. Therefor I
> need an n-dimensional array.

def Array.multi(*dimensions)
  dimensions.reverse.inject(nil) { |result, dim|
    Array.new(dim) { result ? result.dup : nil }
  }
end

a = Array.multi(3, 4, 5)

p a[0]     #=> [[nil, nil, ...], ... ]
p a[0][0]  #=> [nil, nil, nil, nil, nil]

a[0][0][0] = :fred
a[2][3][4] = :barney

p a[0][0][0]  #=> :fred
p a[2][3][4]  #=> :barney

a[3][0][0]
# => exception: undefined method `[]' for nil; index past dim size
-- 
Posted via http://www.ruby-forum.com/.