podano następujący kod:Scala odciągi - pomiń nieużywane parametry
abstract class MyTuple
...
case class MySeptet(a: Int, b: Int, c: Int, d: Int, e: Int, f: Int, g: Int) extends MyTuple
case class MyOctet(a: Int, b: Int, c: Int, d: Int, e: Int, f: Int, g: Int, h: Int) extends MyTuple
...
Podczas korzystania wygenerowany wyciąg, czy to możliwe, aby pominąć pozostałe parametry, zakładając, że są nieużywane?
np. Nie chcę napisać mnóstwo podkreśleń w poniższym fragmencie kodu:
case MyOctet(a, b, _, _, _, _, _, _) => ... // uses only a and b
Sugeruję gryzie zęby i pisanie podkreślenia, lub (nawet lepiej) próbuje złamać swoje klasy przypadków na mniejsze kawałki. –
Jest to obecnie niemożliwe, ale istnieją sugestie pozwalające na dopasowanie do nazwanych i domyślnych parametrów (patrz [tutaj] (https://issues.scala-lang.org/browse/SI-5323) i [tutaj] (https://issues.scala-lang.org/browse/SI-6524)), który umożliwiałby łatwą składnię tego. – wingedsubmariner
Powiązane: http://stackoverflow.com/questions/3474125/how-to-pattern-match-large-scala-case-classes –