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 で、word は case と一致し、特定の関数が呼び出されます。しかし、各関数呼び出しに引数がどのように渡されるかはわかりません。

どんな指針も私にとって大いに役立ちます。

ありがとう。

4

1 に答える 1

4

いいえ、パターン マッチングで function を呼び出しているのではなく、 function を返しているだけです。実際には is の型でfuncあり(String) => String、 で省略できますString=>String

のように呼び出すことができますfunc("ABCDE")

Scala 型の簡単な説明については、これを参照してください

于 2013-08-11T17:34:06.493 に答える