Это должно быть что-то глупое, но мне интересно, может ли кто-нибудь помочь мне здесь. Следующее совпадение с шаблоном регулярного выражения в соответствии с классом case не работает, как я ожидал. Может ли кто-нибудь дать некоторое представление? Спасибо.
object Confused {
case class MyCaseClass(s: String)
val WS = """\s*""".r
def matcher(myCaseClass: MyCaseClass) = myCaseClass match {
case MyCaseClass(WS(_)) => println("Found WS")
case MyCaseClass(s) => println(s"Found >>$s<<")
}
def main(args: Array[String]): Unit = {
val ws = " "
matcher(MyCaseClass(ws))
}
}
Я бы ожидал, что первый случай в совпадении с образцом будет тем, который соответствует, но это не так.
Это печатает
Найдено >> ‹‹