Rubyリファレンス: Home

default_proc= (Hash)

Edit   History

Ruby 1.9

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

hash.default_proc = proc

default_proc=メソッドは、存在しないキーが指定されたときに呼び出される手続きオブジェクトをハッシュに設定します。引数procには手続きオブジェクトを指定します。戻り値は引数procがそのまま返ります。

手続きオブジェクトが呼び出されると、newメソッドのブロックと同様に、引数にはハッシュ自身とキーが渡され、戻り値が存在しないキーの値になります。

hash = Hash.new
hash.default_proc = ->(hsh, key) { hsh[key] = key * 2 }
p hash["hello"]
p hash
"hellohello"
{"hello"=>"hellohello"}

関連項目