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 ****/