标签:
function count( ... ) local i = 0 return function( ... ) i = i+ 1 return i end end local func = count(...) print(func()) print(func()) print(func())
结果如下:
1 2 3 [Finished in 0.1s]
lua 闭合函数:一个函数加上该函数所需访问的所有“非局部变量”。
如上所示:count()函数返回了另一个函数,而这个函数使用了count()函数中的局部变量。当该函数被调用时,count()函数中的局部变量不会被重置。
此局部变量类似于c++中静态局部变量。
标签:
原文地址:http://www.cnblogs.com/guoliangjun/p/5662032.html