【发布时间】:2018-07-17 12:12:37
【问题描述】:
我正在尝试进行模式匹配,它按预期工作,但 IntelliJ IDE 显示以下突出显示错误
Expected: PartialFunction[Regex, NotInferedB], actual: Nothing => Boolean. Cannot resolve method x.unapply Cannot resolve symbol x
代码:
scala> val keys = Map(
| "XYZ" -> List("(?i)(.*SANDWICH.*)",
| "(?i)(.*BURGER.*)").map(x => x.r)
| )
keys: scala.collection.immutable.Map[String,List[scala.util.matching.Regex]] = Map(XYZ -> List((?i)(.*SANDWICH.*), (?i)(.*BURGER.*)))
scala> val desc = "I DON't LIKE SANDWICH "
desc: String = "I DON't LIKE SANDWICH "
scala> if (keys("XYZ").collect{x => desc match{ case x(key) => true}}.contains(true)) println("yes") else println("no")
yes
错误显示在收集部分。任何人都可以指导我,因为可能是导致 IntelliJ 中突出显示错误的问题
【问题讨论】: