Можно ли сопоставить шаблон регулярного выражения, который возвращается из функции?Могу ли я сделать что-то подобное?
def pattern(prefix: String) = (prefix + "_(\\w+)").r
val x = something match {
case pattern("a")(key) => "AAAA" + key
case pattern("b")(key) => "BBBB" + key
}
Я не могу скомпилировать приведенный выше код.Следующий снимок консоли показывает ошибку, которую я получаю.Что я делаю неправильно?
scala> def pattern(prefix: String) = (prefix + "_(\\w+)").r
pattern: (prefix: String)scala.util.matching.Regex
scala> def f(s:String) = s match {
| case pattern("a")(x) => s+x+"AAAAA"
<console>:2: error: '=>' expected but '(' found.
case pattern("a")(x) => s+x+"AAAAA"
^