Scala高階函式

2022-06-07 12:45:18 字數 1018 閱讀 9634

函式可以作為乙個引數傳入到乙個方法當中去

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

val myarray = array(1,3,5,7,9).map(myfunc1)

println(myarray.mkstring(","))

}沒有名字的函式即是匿名函式,我們可以通過函式表示式來設定匿名函式

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

1、能夠接受函式作為引數的方法,叫做高階函式

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

def mymethod3(hello:(int,string) => (string,int)):int =

println(mymethod3(func3))

}2、高階函式同樣可以返回乙個函式型別

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

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

柯里化是scala當中面向函式式程式設計導致的一種必然的結果,最終推導而來產生的一種現象

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

println(kery(3)(5))

//柯里化的推導過程,注意方法的返回值不要定義任何的返回值型別

val keryresult = (x:int) => (y:int) =>

def kerymethod(x:int) =

println(kerymethod(20))

println(kerymethod(20)(10))

//注意,方法當中的函式,呼叫了方法的引數,就叫做閉包

}再來看乙個案例

/***

柯里化的應用,比較陣列集合當中兩個對應下標字串是否相等

* @param args

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

Scala高階函式

在scala中,無法直接操縱方法,只能直接操縱函式,所以需要使用 import scala math.val temp ceil val num 3.14 println fun temp num temp的型別是 double double,意為接受double引數並返回double的函式。能夠對...

Scala 高階函式

import scala.math.val num 3.14val func ceil 意味著確實指的是這個函式,而不是忘記了傳引數 func是乙個函式變數,內容儲存的是個函式 val v func num println v val arr array 1.0,3.14,4 map func 將函...

Scala高階函式

高階函式 higher order function 高階函式可以使用其他函式作為引數,進入方法內使用,或者使用函式輸出結果作為引數。object demo 函式1,返回當前時間納秒數,long型別 def time t long 可以簡寫為t long,long表示如果傳入引數為方法時返回值為lo...