柯里化函數
一個函數有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
scala 柯里化函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.