schernic
4/1/2015 - 6:34 AM

dynamic hash

dynamic hash

1)

lazy = lambda { |h,k| h[k] = Hash.new(&lazy) }

h = Hash.new(&lazy)

h[1][2][3][4] = 5

p h     # {1=>{2=>{3=>{4=>5}}}}

2)

h = Hash.new { |l, k| l[k] = Hash.new(&l.default_proc) }