Lua - 相当于extern

时间:2013-02-26 17:02:20

标签: lua extern

在lua中是否有任何变量等同于C ++中的extern变量?

我希望能够在一个脚本中定义变量,并在另一个脚本中读取/使用这些值。

2 个答案:

答案 0 :(得分:3)

来自lua-users wiki的Scope Tutorial

  

未定义为local的任何变量都在全局范围中。所有内部范围都可以访问全局范围内的任何内容。

对于你的问题;假设我的文件 one.lua two.lua

one.lua

local x = 3
y = 17

two.lua

dofile( "one.lua" )
print( x, y )

输出应为

nil        17

如果您仍然不确定某个变量是local还是global;您可以使用_G表格。像这样:

_G.y = 17      -- Same as y = 17 in one.lua

答案 1 :(得分:2)

它们被称为全局变量。任何未声明为本地的变量都是全局的。

换句话说,这是默认值。你不需要做任何特别的事情。