【Ruby3.x】NoMatchingPatternKeyError::matchee()メソッドの使い方
matcheeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
matcheeメソッドは、Ruby 3で導入されたパターンマッチングにおいて、エラーが発生した際の対象オブジェクトを取得するメソッドです。具体的には、NoMatchingPatternKeyError クラスのインスタンスメソッドとして提供されています。NoMatchingPatternKeyError は、ハッシュパターンマッチングを行う際に、パターンで指定されたキーがマッチ対象のハッシュに存在しない場合に発生するエラーを表します。
このmatcheeメソッドを呼び出すことで、パターンマッチングの試行中にキーが見つからずエラーとなった、その元の対象オブジェクトを取得することができます。例えば、あるハッシュデータに対して特定のキーが存在するかどうかをパターンでチェックし、そのキーが見つからなかった場合にNoMatchingPatternKeyErrorが発生しますが、matcheeメソッドは、その「マッチしようとした元のハッシュ」を返します。
この機能は、プログラムが予期せぬエラーで停止した際に、何が原因でマッチングに失敗したのかを特定する上で非常に役立ちます。開発者は、エラーの原因となった具体的なデータを確認することで、デバッグ作業を効率的に進め、問題解決の時間を短縮することができます。システムエンジニアを目指す方々にとって、エラー発生時の詳細な情報を取得する手段は、堅牢なシステムを構築するために不可欠な知識と言えるでしょう。
構文(syntax)
1begin 2 # キーが存在しないパターンマッチングの例 3 case { user: "Alice" } 4 in { id: } # `id` キーが存在しないため NoMatchingPatternKeyError が発生 5 puts "Matched ID" 6 end 7rescue NoMatchingPatternKeyError => e 8 # 発生した NoMatchingPatternKeyError オブジェクト `e` から 9 # マッチング対象となったオブジェクトを取得 10 e.matchee 11end
引数(parameters)
引数なし
引数はありません
戻り値(return)
Object
matchee メソッドは、パターンマッチングに失敗した際に、マッチング対象となったオブジェクトを返します。