Scala-extractors
提供:Dev Guides
Scala-エクストラクター
Scalaのエクストラクターは、メンバーの1つとして unapply というメソッドを持つオブジェクトです。 この適用解除メソッドの目的は、値を一致させて分解することです。 多くの場合、extractorオブジェクトは、値を構築するためのデュアルメソッド apply も定義しますが、これは必須ではありません。
例
構文
次のプログラム例は、電子メールアドレスの抽出オブジェクトを示しています。
例
上記のプログラムを Demo.scala に保存します。 このプログラムをコンパイルして実行するには、次のコマンドを使用します。
コマンド
出力
エクストラクタを使用したパターンマッチング
クラスのインスタンスの後に、ゼロ個以上のパラメーターのリストを含む括弧が続く場合、コンパイラーはそのインスタンスで apply メソッドを呼び出します。 オブジェクトとクラスの両方で適用を定義できます。
上記のように、 unapply メソッドの目的は、探している特定の値を抽出することです。 apply とは逆の操作を行います。 match ステートメントを使用して抽出オブジェクトを比較すると、 unapply メソッドが自動的に実行されます。
次のプログラム例を試してください。
例
上記のプログラムを Demo.scala に保存します。 このプログラムをコンパイルして実行するには、次のコマンドを使用します。