From: Jason Nordwick Date: 2006-10-04T02:23:57+09:00 Subject: Re: sparse multi-dimensional arrays irb(main):005:0> hsh[1] => {} irb(main):006:0> hsh[2] => {} irb(main):007:0> hsh[3] => {} irb(main):008:0> hsh => {1=>{}, 2=>{}, 3=>{}} ugh. -j Nathan Grant wrote: >> $a[0][0][0] = 0; >> $a[100][100][100] = 100; >> >> print "$a[0][0][0]\n"; >> print "$a[100][100][100]\n"; >> >> The output: >> >> 0 >> 100 > > I saw this on inquirylabs.com recently [1] > > hsh = Hash.new(&(p=lambda{|h,k| h[k] = Hash.new(&p)})) > > hsh[0][0][0] = 0 >> 0 > hsh[100][100][100] = 100 >> 100 > > HTH > > Nathan > > [1] > http://blog.inquirylabs.com/2006/09/20/ruby-hashes-of-arbitrary-depth/ >