访问 lua 中的全局变量
access to global variables in lua
我有下面的 Lua 代码:
a, b = 1, 10
if a<b then
print(a)
local a
print(a)
end
print(a, b)
只是一个小问题:
首先,我创建了一个全局变量 a = 1;
then in the then block I use the global variable a to print it;
然后我声明了一个未初始化的 局部变量 a ( 因此它得到值 nil)
然后我的问题来了:在 then 中创建了 局部变量 a 之后,我如何才能访问 全局变量 a block,这可能吗?如果是这样,请给我一个答案:)
使用_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
它工作正常,给了我想要的输出参考 _ENV.a
我有下面的 Lua 代码:
a, b = 1, 10
if a<b then
print(a)
local a
print(a)
end
print(a, b)
只是一个小问题:
首先,我创建了一个全局变量 a = 1;
then in the then block I use the global variable a to print it;
然后我声明了一个未初始化的 局部变量 a ( 因此它得到值 nil)
然后我的问题来了:在 then 中创建了 局部变量 a 之后,我如何才能访问 全局变量 a block,这可能吗?如果是这样,请给我一个答案:)
使用_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
它工作正常,给了我想要的输出参考 _ENV.a