Rubyリファレンス: Home

default (Hash)

Edit   History

標準クラス・モジュール > Hash > default

hash.default([key])

defaultメソッドは、ハッシュのデフォルト値を返します。デフォルト値が設定されていないときはnilを返します。

hash = Hash.new
p hash.default
hash = Hash.new(:not_found)
p hash.default
nil
:not_found

ブロック付きのnewメソッドで作成されたハッシュでは、defaultメソッドに引数keyを渡すと、ブロックを実行してその戻り値を返します。引数keyのキーがあってもなくてもブロックは実行されます。

hash = Hash.new {|hsh, key| hsh[key] = key * 2 }
hash["hello"] = 123
p hash.default(3)
p hash.default("hello")
p hash
6
"hellohello"
{3=>6, "hello"=>"hellohello"}

関連項目