闭包 closure
- 函数可以嵌套函数,内层函数可以访问外层函数的局部变量,这种特性叫做和函数闭包
- lua 中除了全局变量和局部变量之外,还有一种叫“非局部变量”的变量
- 闭包 closure 的概念是一个函数和该函数能访问的所有“非局部变量”,lua 其实只有闭包,没有函数,函数只是特殊的闭包而已,即没有“非局部变量”
function counter()
local i = 0
return function()
i = i + 1
return i
end
end
c1 = counter()
c2 = counter()
print(c1())
print(c2())
print(c2())
print(c2())
print(c1())
student = {
{name = "lin", grade = 90}, {name = "qiang", grade = 85}, {name = "li", grade = 79}, {name = "jia", grade = 80}}
sortByName = function(student)
table.sort(
student,