2012-09-27 60 views

回答

2

功能型Int => Int => Int關聯的工作相當於Int => (Int => Int)。換句話說,=>將事物分組在右邊,或者是右對應的。

類型Int => (Int => Int)定義了接受一個Int並且其返回型是功能從IntInt一個單參數函數。

那麼這樣一個功能的例子是什麼?我們可以寫一個這種類型稱爲sum功能:

val sum: Int => Int => Int = { 
    (a: Int) => 
    { 
     (b: Int) => 
     a + b 
    } 
} 

所以sum接受一個參數a並返回接受新的功能和參數b並返回ab總和:

scala> val sumWith3 = sum(3)   // `sum` takes an Int argument 
sumWith3: Int => Int = <function1> // notice the return type of `Int => Int` 

scala> sumWith3(5)     // takes an Int argument 
res0: Int = 8      // returned an Int 
+0

燦我寫val sum:Int => Int => Int作爲val sum:(a:Int)(b:Int):Int? – Raj