Scala高階函式

2021-09-05 11:42:04 字數 661 閱讀 6171

高階函式(higher-order function)高階函式可以使用其他函式作為引數,進入方法內使用,或者使用函式輸出結果作為引數。

object demo 

// 函式1,返回當前時間納秒數,long型別

def time() =

// t: => long 可以簡寫為t:long, =>long表示如果傳入引數為方法時返回值為long型別

def delayed( t: => long ) =

}

object demo 

// 函式 f 和 值 v 作為引數,而函式 f 又呼叫了引數 v

// f:int => string,傳入的方法引數,有乙個int型別的引數,並且返回值為string

// def layout[a](x: a) = "[" + x.tostring() + "]"

// f: (int, string) 確定引數個數,並指定泛型型別,沒有引數可以不寫 => string,string為返回值型別

// a,b為泛型,返回值為string型別

def layout[a,b](x: a,y:b) = "[" + x.tostring() + y.tostring() + "]"

}

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 高階函式

1 定義 當乙個函式包含其他函式作為其引數或者返回結果為乙個函式時,該函式被稱為高階函式 2 不採用高階函式,使用遞迴實現下面功能 2的a次方 def poweroftwo a int int 計算乙個整數到另乙個整數的連加和 def sumints x int,y int int 計算乙個整數到另...