Scala 高階函式

2021-10-01 22:07:55 字數 818 閱讀 3400

1、定義:

當乙個函式包含其他函式作為其引數或者返回結果為乙個函式時,該函式被稱為高階函式;

2、不採用高階函式,使用遞迴實現下面功能:

//2的a次方

def poweroftwo(a:int):int=

//計算乙個整數到另乙個整數的連加和

def sumints(x:int,y:int):int=

//計算乙個整數到另乙個整數的平方和

def sumquarts(x:int,y:int):int=

//計算乙個整數到另乙個整數2的x次方和

def sumpoweroftwo(x:int,y:int):int=

println(sumints(1,3))

println(sumquarts(1,3))

println(sumpoweroftwo(1,2))

}

6

146

3、上面三種情況使用的邏輯可以抽象為int=>int形的函式f,所以可以統一寫成下面的高階函式:

//2的a次方

def poweroftwo(a:int):int=

def sum(f:int=>int,x:int,y:int):int=

println(sum(a=>a,1,3))

println(sum(a=>a*a,1,3))

println(sum(a=>poweroftwo(a),1,2))

}

6

146

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...