Lua - 相当于 extern

lua 中是否有相当于 C++ 的 extern 变量的变量?

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

点赞
用户107090
用户107090

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

换句话说,这已经是默认设置了。你不需要做任何特殊的事情。

2013-02-26 17:16:34
用户1190388
用户1190388

来自 lua-users wiki 上的 Scope Tutorial

任何未定义为 local 的变量都在全局作用域中。全局作用域中的所有东西都可以被所有内部作用域访问。

以你的问题为例,假设我有文件 one.luatwo.lua

one.lua

local x = 3
y = 17

two.lua

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

输出将是

nil        17

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

_G.y = 17      -- 与 one.lua 中的 y = 17 相同
2013-02-26 20:22:57