Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 を返します。

関連コンテンツ

関連プログラミング言語