Scala匿名函數

Scala提供了一個相對羽量級的語法來定義匿名函數。源代碼中的匿名函數稱為函數文字,在運行時,函數文字被實例化為稱為函數值的對象。

Scala支持一級函數,函數可以用函數文字語法表達,即(x:Int)=> x + 1,該函數可以由一個叫作函數值的對象來表示。

嘗試以下運算式,它為整數創建一個後繼函數 -

var inc = (x:Int) => x+1

變數inc現在是一種可以像函數那樣使用的函數 -

var x = inc(7)-1

還可以如下定義具有多個參數的函數:

var mul = (x: Int, y: Int) => x*y

變數mul現在是可以像函數那樣使用的函數 -

println(mul(3, 4))

也可以定義不帶參數的函數,如下所示:

var userDir = () => { System.getProperty("user.dir") }

變數userDir現在是可以像函數那樣使用的函數 -

println( userDir )

上一篇: Scala函數 下一篇: Scala閉包