当我在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/