ruby-on-rails – Rails源代码:以奇怪的方式初始化哈希?
在rails源:
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb
以下可以看出 @load_hooks = Hash.new {|h,k| h[k] = [] } 在IRB中只是初始化一个空哈希.这样做有什么不同 @load_hooks = Hash.new 解决方法
看看
ruby documentation for Hash
# 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"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |