scala 柯里化函數


柯里化函數
一個函數有2個參數,可以轉換成2個函數,第一個函數接收第一個參數,第二個函數接收第二個參數。


scala> //////////////////////////////

scala> def sum(x:Int,y:Int) = x+y   ----定義成sum2()兩個參數,一個括號
sum: (x: Int, y: Int)Int

scala> sum(1,2)
res173: Int = 3

scala> def sum1(x:Int) = (y:Int) => x+y
sum1: (x: Int)Int => Int

scala> val sum1_v=sum1(1)   --傳進1
sum1_v: Int => Int = <function1>

scala> sum1_v(2)   --傳進2
res176: Int = 3

scala> sum1(1)(2)   --同時傳進1和2
res177: Int = 3



scala> def sum2(x:Int)(y:Int) = x+y     --定義成sum2()()兩個參數,兩個括號
sum2: (x: Int)(y: Int)Int

scala> sum2(1)(2)
res175: Int = 3

scala> sum2(1)_
res196: Int => Int = <function1>

scala> res196(2)
res198: Int = 3




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章