您的位置:首页 > 其它

scala 学习(十六)——闭包和柯里化

2016-12-28 15:19 218 查看

scala 学习(十六)——闭包和柯里化

下面是闭包和柯里化的例子程序:
//变量不在作用域时函数仍然可以调用
object main{
def main(args:Array[String]){
//闭包
def mulby(factor:Double) = (x:Double) => x * factor
var a = mulby(3)
var b = mulby(0.5)
println(a(2) + b(9))
println("==========")
//currying 柯里化
//将函数中的两个函数变为一个函数,并且把原来函数的第二个参数当做参数
def add(a:Int) = (b:Int) => a+b
var temp = add(1)(2)
println(temp)
println("==========")
//简单定义柯里化
def addnew(a:Int)(b:Int) = a+b
var cc = addnew(12)(22)
println(cc)
println("==========")
//柯里化的简单应用
def trimul(a:Int)(b:Int)(c:Int) = a * b * c
var tries = trimul(2)(4)(5)
println(tries)

}
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: