Scala函式式程式設計 Curry柯里化

2021-09-08 01:56:50 字數 625 閱讀 8148

函式式程式設計的乙個思想:只傳遞給函式一部分引數來呼叫函式,然後返回乙個函式去處理剩下的引數。

簡單說curry就是對高階函式(就是一種對過程的抽象 參考map它就是乙個抽象的過程)的降階處理。比如 function(arg1,arg2)變成function(arg1)(arg2)。function(arg1,arg2,arg3)變成function(arg1)(arg2)(arg3)…以此類推。

可以一次性地呼叫 curry 函式,也可以每次只傳乙個引數分多次呼叫

/*

* curry柯里化

* */

val myfunction1 =(x:int)=>(y:int)=>x+y

//柯里化函式

def myfunction2(x:int)(y:int)=

//返回,即後面的函式(y:int)=>x+y

println(myfunction1(10))

//返回30

println(myfunction1(10)(20))

//依次呼叫兩個普通函式,第一次呼叫函式(x),第二次呼叫時使用了(x)的返回值

println(myfunction2(10)(20))

}

SCALA函式式程式設計

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 scala的語法規定,將函式賦值給變數時,必須在函式後面加上空格和下劃線 正常宣告乙個帶有乙個字串型別引數,並返回unit型別的方法 sca...

Scala函式式程式設計

知識點1.scala的柯里化技術,允許將接受多個引數的函式,轉變為接受單一引數的函式 2.柯里化的作用可以允許使用者自建控制結構 object demo03 f1 a int,b int int def f11 a int b int f11 a int b int int def f2 a int...

Scala函式式程式設計

package com.yz6 import scala.collection.mutable.arraybuffer object test 定義乙個函式 軀殼 靈魂 def function0 name string unit println 你好 name 將乙個函式作為值傳遞給另乙個函式 在...