lua中的upvalue 闭包
ua中的变量,分为三种类型:Global,Local,UpVal.前面两种不需解释,第三种变量,稍微做些代码层面上的解释,比如:
function test()
local a = 1
function t()
a = 2
end
end
对函数test而言,当对变量a进行赋值的时候,会首先查找在本函数中是否有变量a的定义,如果没有发现则向更外一层的函数去查找,这个过程一直到全局查找.如果在某个更上一层的函数中找到了,那么就是这个变量对于该函数而言就是一个Upval;否则如果在全局域中找到,则是一个全局变量.
/**** Love U Love Myself ****/
浙公网安备 33010602011771号