scala入门初级代码训练-21闭包

原创文章,转载请注明出处!

原文地址: http://www.ptbird.cn/2016/07/19/scala-chuji-demo-21/

There I am,in the world more exciting!

by postbird

www.ptbird.cn


package com.ptbird.scala

/**
* Created by postbird on 2016/5/26.
*/
object ClosePackage {
def main(args: Array[String]): Unit = {
val data = List(1, 2, 3, 4, 5, 6)
var sum = 0
data.foreach(sum += _)
def add(moreNum: Int )= (x: Int) => x + moreNum
val a = add(1)
val b = add(100)
/**
* 先把1传递给add 则现在moreNum就是1 而对于add函数来说,它是返回一个函数的
*
* 因此返回的函数就是 x+1 ,将这个函数赋值给a,此时 a(x:Int)={x+moreNum}
* 对于b来说 b(x:Int)={b+moreNum}
* */
println(a(10))
println(b(10))
// 11
// 110
}
}

欢迎评论。
lingkb » scala入门初级代码训练-21闭包

发表评论