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_functions.htm
广告