在lua中是否有任何变量等同于C ++中的extern变量?
我希望能够在一个脚本中定义变量,并在另一个脚本中读取/使用这些值。
答案 0 :(得分:3)
来自lua-users wiki的Scope Tutorial,
未定义为
local
的任何变量都在全局范围中。所有内部范围都可以访问全局范围内的任何内容。
对于你的问题;假设我的文件 one.lua
和 two.lua
local x = 3
y = 17
dofile( "one.lua" )
print( x, y )
输出应为
nil 17
如果您仍然不确定某个变量是local
还是global
;您可以使用_G
表格。像这样:
_G.y = 17 -- Same as y = 17 in one.lua
答案 1 :(得分:2)
它们被称为全局变量。任何未声明为本地的变量都是全局的。
换句话说,这是默认值。你不需要做任何特别的事情。