English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 匿名函数

Scala 函数

Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体。

使用匿名函数后,我们的代码变得更简洁了。

下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数:

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

上述定义的匿名函数,其实是下面这种写法的简写:

def add2 = new 函数1[Int, Int]{  
    def 应用(x: Int): Int = x+1;  
} 

以上示例的 增加值 现在可作为一个函数,使用方式如下:

var x = 增加值(7)-1

同样我们可以在匿名函数中定义多个参数:

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

乘 现在可作为一个函数,使用方式如下:

println(乘(3, 4))

我们也可以不给匿名函数设置参数,如下所示:

var 用户目录 = () => { System.getProperty("user.dir") }

userDir 现在可作为一个函数,使用方式如下:

println(用户目录())

在线示例

object Demo123;
   定义 main40; 参数: 数组91; 字符串9341;123;
      println40; "乘数(1) 值 = " +  乘数40;1)41;
      println40; "乘数(2) 值 = " +  乘数40;2)41;
   }
   var 因子 = 3
   val 乘数 =40;i: Int) => i * 因子
}

将以上代码保存到 Demo.scala 文件中,执行以下命令:

$ scalac Demo.scala
$ scala Demo

输出结果为:

乘数(1) 值 = 3
乘数(2) 值 = 6

Scala 函数