Techioz Blog

デフォルト値を持つハッシュの操作

概要

Rubyを使ったコーディングを学んでいます。私はハッシュについて学んでいますが、このコードが理解できません: count = Hash.new(0)。 0 がデフォルト値であると書かれていますが、irb で実行すると空のハッシュ {} が返されます。 0 がデフォルト値である場合、count ={0=>0} のような値が表示されないのはなぜですか。それとも、ゼロはアキュムレータですが、キーや値には反映されませんか?ありがとう

解決策

存在しないハッシュ内のキーにアクセスしようとした場合、0 がフォールバックになります。

例えば:

count = Hash.new -> count[‘key’] => nil

count = Hash.new(0) -> count[‘key’] => 0