From: Brian Adkins Date: 2008-11-02T01:43:55+09:00 Subject: Re: n-dimensional array in Ruby Mike Gold writes: > 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 Yearning for macros...