这篇文章主要介绍了LUA中的闭包(closure)浅析,本文给出实例讲解LUA中的闭包,需要的朋友可以参考下
之前对closure一知半解,在网上也找不到一篇文章能把它说清楚,今天好像第一次对它有点清晰的了解 了,写个BLOG记念一下
lua的函数是一种 First-Class Value 的东西, 到底是啥?
就是它们与传统类型的变值没啥区别,
可以 存到一个变量中,
可以 存到table中,
可以 作为实参传递给其它函数,
可以 作为其它函数的返回值.
它们还具有特定的词法域(Lexical Scoping), 也就是说, 一个函数可以嵌套在另一个函数中, 内部的函数可以访问外部函数中的变量.
如下面的例子:
复制代码 代码如下:
function test(x)
return function (value)
return value * x
end
end
func = test(10)
print( func(11) )
以上就是LUA中的闭包(closure)浅析的详细内容,更多请关注0133技术站其它相关文章!