我知道还有其他类似的主题,但无法找到我的问题的直接答案。lua变量范围
假设你有一个函数,例如:
function aFunction()
local aLuaTable = {}
if (something) then
aLuaTable = {}
end
end
对于aLuaTable变量if语句里,它仍然是地方吧?基本上我问的是,如果我第一次将变量定义为本地变量,然后我一次又一次地使用变量,它会在程序剩余时间内保持局部变化,这是如何工作的?
此外,我读这个定义为lua全局变量:
任何变量不是在一个定义的块被认为是在全局范围内。 全局范围内的任何内容均可由所有内部范围访问。
这是什么意思是不是在一个定义的块?我的理解是,如果我“随便声明”一个变量它将永远是全球性的是不正确的?
对不起,如果问题太简单了,但来自Java和objective-c,lua对我来说很奇怪。
没有很多XP用LUA的地狱,但据我所知,该变量将在该函数内部范围 - 这将是超出范围的功能之外。任何在函数体(定义块)之外声明的变量被认为是在全局范围内,并且可以从该lua脚本中的任何地方访问 – Charleh