我是斯卡拉的新手。我想了解下面的代码行: -
val word = "f"
val file = "resources/abc.dat"
val func: (String) => String = word match {
case "f" => first
case "s" => second
case "t" => third
case _ => default
}
def first(file: String) : String = {
println("First" + file)
"first"
}
def second(file: String) : String = {
println("Second" + file)
"second"
}
def default(file: String) : String = {
println("Default" + file)
"default"
}
到目前为止我所理解的是func,word与case匹配,并调用了特定的函数。但我不明白如何将参数传递给每个函数调用。
任何指针对我都有很大的帮助。
感谢。
答案 0 :(得分:4)
不,你没有在模式匹配中调用函数,你只是返回一个函数,func
的类型确实是(String) => String
,你可以在String=>String
中缩写。< / p>
然后您可以将其称为func("ABCDE")
。
有关Scala类型的简要说明,请参阅this