2017-01-29 15 views
1

IMはScalaの以下の高階関数を理解しようとしていますが、関数のパラメータについてはいくつかの説明が必要です。Scalaの高階関数

質問: -

  1. apply機能でInt => Stringは何を意味するのでしょうか? v: Intは、パラメータvがタイプIntであることを示します。
  2. の意味は[A](x: A)の意味ですか?

    object Demo { 
        def main(args: Array[String]) { 
        println(apply(layout, 10)) 
        } 
    
        def apply(f: Int => String, v: Int) = f(v) 
    
        def layout[A](x: A) = "[" + x.toString() + "]" 
    } 
    

答えて

10

f: Int => StringfタイプIntの一つの引数を持つと戻り型String

def layout[A](x: A)持つ関数パラメータxは、任意のタイプとすることができるタイプA、であることを意味することを意味します。ここでは、レイアウトを呼び出す方法についての例のカップルです:

layout[String]("abc") //returns "[abc]" 
layout[Int](123) //returns "[123]" 

mainはそれがlayout機能と引数10この意志の出力とapplyを呼び出し実行し"[10]"

関連する問題