Ruby 3.3 リファレンスマニュアル

class NoMatchingPatternKeyError

[edit]

要約

パターンマッチのハッシュパターンで、対応するキーが見つからない場合に発生します。

キーは存在するものの値がパターンに一致しない場合は、親クラスの NoMatchingPatternError が発生します。

パターンマッチについては パターンマッチ を参照してください。

data = {name: "ken"}
begin
  data => {age: Integer}
rescue NoMatchingPatternKeyError => e
  p e.key                # => :age
  p e.matchee == data    # => true
end

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Exceptionから継承している特異メソッド
Exceptionから継承しているメソッド

特異メソッド

new(message = nil, matchee: nil, key: nil) -> NoMatchingPatternKeyErrorRuby 3.1 から[permalink][rdoc][edit]

例外オブジェクトを生成して返します。

[PARAM] message:
エラーメッセージを表す文字列です。
[PARAM] matchee:
パターンマッチの対象となったオブジェクトです。 NoMatchingPatternKeyError#matchee で取り出せます。
[PARAM] key:
見つからなかったキーです。 NoMatchingPatternKeyError#key で取り出せます。
data = {name: "ken"}
e = NoMatchingPatternKeyError.new("key not found", matchee: data, key: :age)
p e.matchee.equal?(data) # => true
p e.key                  # => :age

インスタンスメソッド

key -> objectRuby 3.1 から[permalink][rdoc][edit]

見つからなかったキーを返します。

生成時に key が設定されていない場合は ArgumentError が発生します。

matchee -> objectRuby 3.1 から[permalink][rdoc][edit]

パターンマッチの対象となったオブジェクトを返します。

生成時に matchee が設定されていない場合は ArgumentError が発生します。