lua 中是否有任何变量等效于 C++ 中的外部变量?
我希望能够在一个脚本中定义变量并在另一个脚本中读取/使用这些值。
来自lua-users wiki 上的范围教程,
任何未按原样定义的变量
local
都在全局范围内。所有内部范围都可以访问全局范围内的任何内容。
对于您的问题;假设我有文件one.lua
和two.lua
local x = 3
y = 17
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
它们被称为全局变量。任何使用但未声明为局部变量的变量都是全局变量。
换句话说,这已经是默认设置了。你不必做任何特别的事情。