I'm a newbie in Lua and I just found out the following code is legal in Lua.
local abc = 123
local abc = 345
print(abc)
Is there any difference between the above and the following?
local abc = 123
abc = 345
print(abc)
答案 0 :(得分:5)
每次执行局部语句都会定义新的局部变量check this 这两个变量具有单独的标识,但是使用相同的名称将隐藏第一个变量
local abc = 123
local function abc1()
print(abc)
end
local abc = 345
local function abc2()
print(abc)
end
print(abc1()) -- 123
print(abc2()) -- 345
答案 1 :(得分:3)
有区别。第一个代码具有两个局部变量,而第二个则只有一个。例如,可以使用调试库检测到。比较两个脚本上luac -l
的输出。