我知道还有其他类似的主题,但找不到我的问题的直接答案。
假设您有一个函数,例如:
function aFunction()
local aLuaTable = {}
if (something) then
aLuaTable = {}
end
end
对于 if 语句中的 aLuaTable 变量,它仍然是本地的吗?基本上我要问的是,如果我第一次将一个变量定义为本地变量,然后我一次又一次地使用它,它会在程序的余生中保持本地状态,这究竟是如何工作的?
此外,我阅读了 Lua 全局变量的定义:
任何不在定义块中的变量都被称为在全局范围内。所有内部范围都可以访问全局范围内的任何内容。
不在定义的块中是什么意思?我的理解是,如果我在任何地方“声明”一个变量,它将始终是全局的,这不正确吗?
对不起,如果问题太简单了,但是来自 Java 和 Objective-c,lua 对我来说很奇怪。