I recently looked for a way to correctly create and use nested hashes in Ruby. I promptly found a solution by Paul Morie, who answered his own question:
hash = Hash.new { |h,k| h[k] = {} }
I promptly went to use this and am glad to report it works. However, as the title says, I'd like the "secondary", "inside" hashes to return 0 by default.
I'm aware that you can define the default return value of a hash both in its constructor ("Hash.new(0)
") or using .default
("hash.default(0)
").
But how would you do this with hashes inside a hash?