每天学习一点Scala06_闭包
一个函数字面量的函数体通常只能使用输入参数和函数字面量内定义的本地变量.不过,Scala允许一个函数字面量使用它所在环境的变量.
所谓"闭包",指的是这样的一个函数字面量,它使用一个从其所在环境"捕获"到的非本地、非参数变量。有时人们会交替使用术语"函数字面量"和"闭包"。但是从技术上来说,它们并不相同。
下面是一个闭包的例子:
defencodeWithSeed(num:Int,seed:Int):Long={defencode(x:Int,func:(Int)=>Int):Long={valy=x+1000;func(y);}valresult=encode(num,(n:Int)=>(n*seed));result;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。