Я недавно играл с сопоставлением шаблонов scala и задавался вопросом, есть ли способ создать экстрактор внутри оператора case. Следующий код работает, но вы должны сначала определить экстрактор и назначить его val:
val Extr = "(.*)".r
"test" match {
case Extr(str) => println(str)
}
То, что я хотел бы сделать или что я хотел бы, чтобы кто-то подтвердил, невозможно, примерно так:
"test" match {
case ("(.*)".r)(str) => println(str)
}
EDIT : На случай, если кто-то из команды scala читает это: Возможно ли это реализовать?