У меня есть код сопоставления с образцом. X - это case-класс со слишком большим количеством параметров. Я просто хочу немного проверить его 3-й, 4-й параметр и хотел бы использовать подстановочные знаки для остальных из них.
o match {
case Some(X(_,_, a,b, _*))) => // do something
case _ => // do something else
}
Похоже, у меня это не работает. Как правильно использовать подстановочный знак?
Либо сделайте case Some(x: X) => // use x.a & x.b
, либо напишите собственный экстрактор, как описано, например, здесь
Я не думаю, что Scala предоставляет возможности для использования подстановочных знаков пользователя в таких случаях, вы должны указать все аргументы. Возможно, проще было бы заменить сопоставление с образцом на
Option.map
илиOption.fold
и получить значения полей из объекта.