From: Mike Gold Date: 2008-11-01T18:04:06+09:00 Subject: Re: n-dimensional array in Ruby Mike Gold wrote: > def Array.multi(*dimensions) > dimensions.reverse.inject(nil) { |result, dim| > Array.new(dim) { result ? result.dup : nil } > } > end My mistake. Array#dup is not a recursive deep copy. def Array.multi(*dimensions) dimensions.reverse.inject(nil) { |result, dim| Array.new(dim) { Marshal.load(Marshal.dump(result)) } } end -- Posted via http://www.ruby-forum.com/.