私は価値抽出を必要としないパターンマッチャーを作成しようとしており、これを行うのに非常に満足のいく方法が見つかりませんでした。今、私が得ることができる最も近いブールスカラ、抽出なしのパターンマッチング
a:Any match {
case IsAnInt(true) => println(s"$a is an int")
}
object IsAnInt {
def unapply(a:Any):Option[Boolean] = Some(a.isInstanceOf[Int])
}
または単位のいずれかである私がどれのInt
さa:Any match {
case IsAnInt => println(s"$a is an int")
}
に一致させたい
:私は、次の説明例があるとし
a:Any match {
case IsAnInt(()) => println(s"$a is an int")
}
object IsAnInt {
def unapply(a:Any):Option[Unit] = if (a.isInstanceOf[Int]) Some(()) else None
}
私はできますが、涼しいものではありません... 最初のケースを達成するために認識していないトリックイムはありますか?
(単に例を明確にするために簡素化され、私はint型を識別するための方法を探していないよ)、このようなタイプに一致する