Rubyリファレンス: Home

delete (Hash)

Edit   History

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

hash.delete(key)

deleteメソッドは、ハッシュから引数keyと同じキーを探して、キーと値を削除します。レシーバ自身を変更するメソッドです。戻り値はキーの値です。キーが見つからないときはnilを返します。

scores = { "Alice" => 50, "Bob" => 60, "Carol" => 90, "David" => 40 }
puts scores.delete("Carol")
puts scores.has_key?("Carol")
90
false
hash.delete(key) {|k| block }

deleteメソッドにブロックを渡すと、キーが見つからないときはブロックの戻り値を返します。ブロック引数kには引数で指定したキーが入ります。

scores = { "Alice" => 50, "Bob" => 60, "Carol" => 90, "David" => 40 }
val = scores.delete("Eve") {|name| "#{name} not found" }
puts val
Eve not found

関連項目