当我在Intellij中键入以下代码时,它会用警告“变量模式可疑阴影”突出显示匹配项中的x。

val x = "some value"
"test" match {
  case x =>
}

它建议我将其更改为:
val x = "some value"
"test" match {
  case `x` => //note backticks
}

什么是可疑阴影?反引号是做什么的?

最佳答案

case x

创建一个名为x的变量,它将匹配所有内容,并且由于已经存在具有相同名称的变量,因此您可以使用相同的名称对其进行阴影。
case `x`

使用变量x的值,该值之前已声明,并且仅匹配具有相同值的输入。

聚苯乙烯

如果变量名大写,则可以不打勾
case Pi

观看Pattern Matching Unleashed了解更多。

关于scala - 在scala模式匹配中,可变模式可疑的阴影是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7905023/

10-16 12:24