一見すると、どちらも同じハッシュを作っているように見える。
irb(main):001:0> Hash.new(0) => {} irb(main):002:0> {} => {}
では何が違うのか?
Hash.new(0)
はハッシュのデフォルト値を設定している{}
はデフォルト値を設定していない
irb(main):003:0> Hash.new(0)['a'] => 0 irb(main):004:0> {}['a'] => nil
一見すると、どちらも同じハッシュを作っているように見える。
irb(main):001:0> Hash.new(0) => {} irb(main):002:0> {} => {}
では何が違うのか?
Hash.new(0)
はハッシュのデフォルト値を設定している{}
はデフォルト値を設定していないirb(main):003:0> Hash.new(0)['a'] => 0 irb(main):004:0> {}['a'] => nil