Scala之高階函式

2021-10-02 16:30:10 字數 632 閱讀 7086

scala混合了物件導向和函式式的特性,我們通常將可以做為引數傳遞到方法中的表示式叫做函式。在函式式程式語言中,函式是「頭等公民」,高階函式包含:作為值的函式、匿名函式、閉包、柯里化等等。

閉包:就是能讀取其他函式(方法)內部的函式(方法)

*/object closurerest

sumf

}def main(args:array[string]):unit=

}

柯里化指的是將原來接受兩個引數的方法或函式變成新的接受乙個引數的方法或函式的過程

原來:

scala>def ml(x:int,y:int)=x*y

m1:(x:int,y:int)int

柯里化之後:

scala>def currying(x:int)(y:int)=x*y

currying:(x:int)(y:int)int

scala>currying(2)(3)

res10:int=6

scala>val curryl=currying(2) _

curry1:int=>int=scala>curry1(4)

es11:int=8

Scala之高階函式

第乙個高階函式 def formatresult name string,n int,f int int formatresult是乙個高階函式,他接受乙個函式f為引數,引數的型別是int int,表示接受整型並返回乙個整型結果。多態函式 通常,在寫高階函式時,希望寫出的 能夠適用於任何型別,它們被...

Scala 之高階函式

能夠接受函式作為引數的函式,叫做高階函式 higher order function 可使應用程式更加健壯。object higherorderfunction sum 是接收乙個 double,返回乙個 double def sum d double double def mod d double...

Python之高階函式

一 什麼是高階函式 函式作為實參傳遞給函式的或者函式名為返回值的函式稱為高階函式。1 實參傳遞給函式 2 函式名為返回值 二 系統內建的高階函式 1 map函式 至少需要兩個引數,第乙個引數是函式名,第二個引數是序列 str,list,tuple map功能 把序列中的每乙個元素作為引數,傳給函式進...