まくまくRubyノート
ハッシュのデフォルト値を設定する
2011-10-07

Ruby のハッシュは、存在しないキーで値を参照しようとすると、デフォルトでは nil を返すようになっています。

h = {}
puts h['key']  #=> nil

デフォルト値を nil 以外の値に変更したい場合は、ハッシュの生成時にデフォルト値を指定します。 例えば、単語数をカウントしたりする場合に、ハッシュのデフォルト値を 0 に設定するとスマートに記述できます。

h = Hash.new(0)
puts h['key']  # 0
h['key'] += 1  # デフォルト値として 0 が入っているため、最初から +1 できる。
puts h['key']  # 1
2011-10-07