Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module HashFill
- def fill!(*keys, val)
- raise 'at least one hash key must be listed' if keys.empty?
- nest = self
- keys[0...-1].each do |key|
- nest[key] = {} unless nest[key].is_a? Hash
- nest = nest[key]
- end
- nest[keys.last] = val
- end
- end
- Hash.include HashFill
- h = {}
- # {}
- h.fill! :foo, :bar, :baz
- # :baz
- h
- # {:foo=>{:bar=>:baz}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement