相关疑难解决方法(0)

为什么Scala中的模式匹配不适用于变量?

采取以下功能:

def fMatch(s: String) = {
    s match {
        case "a" => println("It was a")
        case _ => println("It was something else")
    }
}
Run Code Online (Sandbox Code Playgroud)

这种模式很好地匹配:

scala> fMatch("a")
It was a

scala> fMatch("b")
It was something else
Run Code Online (Sandbox Code Playgroud)

我希望能做的是以下内容:

def mMatch(s: String) = {
    val target: String = "a"
    s match {
        case target => println("It was" + target)
        case _ => println("It was something else")
        }
}
Run Code Online (Sandbox Code Playgroud)

这会发出以下错误:

fMatch: (s: String)Unit
<console>:12: error: unreachable code
               case _ => println("It was something …
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching match

109
推荐指数
1
解决办法
3万
查看次数

标签 统计

match ×1

pattern-matching ×1

scala ×1