SWI*_*WII 3 lua global-variables local-variables
我有一个Lua代码如下:
a, b = 1, 10
if a<b then
print(a)
local a
print(a)
end
print(a, b)
Run Code Online (Sandbox Code Playgroud)
只是一个小问题:
首先,我创建了一个全局变量a = 1;
然后在then块中我使用全局变量a来打印它;
然后我声明了一个未初始化的局部变量a(因此得到的值为nil)
然后我的问题来了:在then块中创建了局部变量a后,我怎样才能访问全局变量a,这是可能的?如果是这样,请给我一个答案:)
使用_ENV.a使用相同的名称为当地一个后访问全局变量!
注意,Lua版本5.1及以下版本使用 _G
编辑,刚试过这个:
a, b = 1, 10
if a<b then
local a = 12
print(a) -- Will print 12
print(_ENV.a) -- Will print 1
end
print(a, b) -- Will print 1 10
Run Code Online (Sandbox Code Playgroud)
它工作正常,给了我所需的输出参考_ENV.a