ua中的变量,分为三种类型:Global,Local,UpVal.前面两种不需解释,第三种变量,稍微做些代码层面上的解释,比如:
function test()
local a = 1
function t()
a = 2
end
end
对函数test而言,当对变量a进行赋值的时候,会首先查找在本函数中是否有变量a的定义,如果没有发现则向更外一层的函数去查找,这个过程一直到全局查找.如果在某个更上一层的函数中找到了,那么就是这个变量对于该函数而言就是一个Upval;否则如果在全局域中找到,则是一个全局变量.
本文详细介绍了Lua语言中UpVal的概念及其工作原理。通过具体的代码示例解释了当一个函数尝试访问其外部作用域中的变量时,Lua如何处理这种变量引用。
1594

被折叠的 条评论
为什么被折叠?



