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

【Ruby3.x】Hash::fetch()メソッドの使い方

fetchメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

fetchメソッドは、ハッシュから指定したキーに対応する値を取得するメソッドです。基本的な使い方は、ハッシュ.fetch(キー) のように呼び出します。

このメソッドの最大の特徴は、指定したキーがハッシュ内に存在しない場合の挙動にあります。通常の[]メソッドでキーが見つからない場合、nilが返されますが、fetchメソッドはデフォルトでKeyErrorという例外を発生させます。これは、プログラムが意図しないnil値によるバグを防ぎ、キーの存在を明確に確認したい場合に特に役立ちます。

キーが存在しない場合に例外を発生させず、特定のデフォルト値を返したい場合は、第二引数にその値を指定できます。例えば、ハッシュ.fetch(キー, デフォルト値) と記述すると、キーが存在しない場合に指定したデフォルト値が返されます。

さらに柔軟な処理を行いたい場合は、ブロックを渡すことができます。ハッシュ.fetch(キー) { |キー| ブロックの処理 } のように記述すると、キーが見つからなかった際にブロックが実行され、そのブロックの戻り値が結果として返されます。このブロックには、見つからなかったキー自体が引数として渡されるため、それを利用して動的にデフォルト値を生成することも可能です。

このように、fetchメソッドはハッシュから値を取得する際に、キーの存在しないケースに対する安全かつ明確な対処方法を提供し、堅牢なプログラミングをサポートします。

構文(syntax)

1my_hash = { name: "Alice", age: 30 }
2value = my_hash.fetch(:city, "Unknown")

引数(parameters)

key, default = nil

  • key: 取得したい値に対応するキー
  • default = nil: 指定したキーが存在しない場合に返されるデフォルト値。指定しない場合はnilが返される

戻り値(return)

Object

指定されたキーに対応する値、またはデフォルト値があればその値を返します。キーが存在しない場合は、引数で指定されたデフォルト値、または例外を返します。

関連コンテンツ

関連プログラミング言語