function count( ... )
local i =
return function( ... )
i = i+
return i
end
end local func = count(...) print(func())
print(func())
print(func())
结果如下:
[Finished in .1s]
lua 闭合函数:一个函数加上该函数所需访问的所有“非局部变量”。
如上所示:count()函数返回了另一个函数,而这个函数使用了count()函数中的局部变量。当该函数被调用时,count()函数中的局部变量不会被重置。
此局部变量类似于c++中静态局部变量。