2

我是scala的新手。我试图理解下面的代码行: -

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,单词与案例匹配并调用特定函数。但我不明白如何将参数传递给每个函数调用。

任何指示都会对我有很大帮助。

谢谢。

4

1 回答 1

4

不,你不是在模式匹配中调用函数,你只是在返回一个函数,实际上是funcis的类型(String) => String,你可以在String=>String.

然后,您可以将其称为func("ABCDE").

有关Scala 类型的简要说明,请参阅this

于 2013-08-11T17:34:06.493 回答