0

lua 中是否有任何变量等效于 C++ 中的外部变量?

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

4

2 回答 2

3

来自lua-users wiki 上的范围教程,

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

对于您的问题;假设我有文件one.luatwo.lua

一.lua

local x = 3
y = 17

二.lua

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

输出应为

nil        17

If you're still unsure if some variable will be local or global; you can use _G table for them. Like this:

_G.y = 17      -- Same as y = 17 in one.lua
于 2013-02-26T20:22:57.437 回答
2

它们被称为全局变量。任何使用但未声明为局部变量的变量都是全局变量。

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

于 2013-02-26T17:16:34.800 回答