式が特定のパターンに一致するかどうかを確認する簡潔な方法はありますか? たとえば、次のコードを考えてみましょう。
val result = expr match {
SomePattern(_, 1, _) => true
_ => false
}
このコードは機能しますが、かなりノイズが多く、長いです。同じことを達成するためのより良い方法があるかどうか疑問に思っていました。matches
Scala に構造体があれば素晴らしいだろう。
val result = expr matches SomePattern(_, 1, _)
これらの線に沿って何かを可能にするヘルパー関数を作成することも検討します。しかし、私が知る限り、パターンを引数として渡すことができないため、それは難しいようです。Scala 2.10 で (実験的な機能として) 利用可能なマクロで、このようなことが可能になるでしょうか?