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闭包