
Untitled
By: a guest on
May 24th, 2012 | syntax:
None | size: 0.52 KB | hits: 10 | expires: Never
Rails source code : initialize hash in a weird way?
@load_hooks = Hash.new {|h,k| h[k] = [] }
@load_hooks = Hash.new
# While this creates a new default object each time
h = Hash.new { |hash, key| hash[key] = "Go Fish: #{key}" }
h["c"] #=> "Go Fish: c"
h["c"].upcase! #=> "GO FISH: C"
h["d"] #=> "Go Fish: d"
h.keys #=> ["c", "d"]
irb(main):001:0> a = Hash.new {|h,k| h[k] = [] }
=> {}
irb(main):002:0> b = Hash.new
=> {}
irb(main):003:0> a[123]
=> []
irb(main):004:0> b[123]
=> nil