【Ruby3.x】Hash::delete()メソッドの使い方
deleteメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
deleteメソッドは、Hashオブジェクトから指定されたキーとその値のペアを削除するメソッドです。
このメソッドは引数として削除したいキーを一つ受け取ります。指定されたキーがハッシュ内に存在する場合、そのキーと対応する値のペアをハッシュから削除し、削除された値を戻り値として返します。この操作により、元のハッシュオブジェクトの内容も変更されます。
もし指定されたキーがハッシュ内に存在しない場合、デフォルトではnilを返します。しかし、このメソッドはオプションでブロックを受け取ることも可能です。ブロックが指定されており、かつ指定されたキーがハッシュ内に存在しなかった場合、nilの代わりにそのブロックの評価結果が戻り値となります。
例えば、fruits = { "apple" => 100, "banana" => 200, "orange" => 150 }というハッシュに対してfruits.delete("banana")を実行すると、"banana"キーと値200のペアがハッシュから削除され、200が戻り値として返されます。fruitsハッシュは{ "apple" => 100, "orange" => 150 }に更新されます。
存在しないキーを指定した場合、例えばfruits.delete("grape")はnilを返します。一方、fruits.delete("grape") { |key| "キー'#{key}'は存在しませんでした。" }のようにブロックを渡すと、"キー'grape'は存在しませんでした。"という文字列が戻り値として返されます。
このメソッドは、ハッシュから特定のデータを動的に、かつ安全に削除したい場合に非常に役立ちます。
構文(syntax)
1my_hash = { :apple => 1, :banana => 2 } 2deleted_value = my_hash.delete(:apple) # キーが存在する場合、キーと対応する値がハッシュから削除され、その値が返されます 3# my_hash は { :banana => 2 } に、deleted_value は 1 になります
引数(parameters)
key
- key: 削除したい要素のキーを指定します
戻り値(return)
Object
指定されたキーとそれに対応する値のペアをハッシュから削除し、削除された値を返します。キーが存在しない場合は nil を返します。