コンストラクタパターンと抽出パターンマッチングの違いは何ですか?抽出のScalaのコンストラクタパターン
abstract class Expr
case class BinOp(operator: String, left: Expr, right: Expr) extends Expr
expr match {
case BinOp("+", e, Number(0)) => println("a deep match")
case _ =>
}
例:コンストラクタパターンをCH 15およびCH 26で抽出パターンコンストラクタパターンの
例で説明されたようにスカラ著者でプログラミングで は区別を行います:
l match {
case List(a,b,c) => a
case _ =>
}
は、初心者ガイドでは、パターンの違いについて話しません。エクストラクターが存在することを伝えるだけで、ケースクラスはそれらを自動的に取得します。また、 'unapply'クラスとcaseクラスを持つ任意のオブジェクトを区別するための仕様では、エクストラクタについては言及していません。 –