捕获 Lua 脚本中的全局变量并列举出来

如何遍历整个脚本并捕获所有全局变量的列表。

我知道 _G 是环境表,它保存所有全局变量,但它实际上保存了所有全局变量。我只想要脚本中的全局变量。

点赞
用户2226988
用户2226988

除了 _G 自己是全局变量外,_G 是一个运行时表(因此只能在某个特定运行期间的某个时刻列出)。你是正确的,它会列出由脚本设置的全局变量,以及由 Lua 状态初始化和其他使用的脚本设置的全局变量。

找到编译器将绑定为全局变量的变量标识符的一种方法是使用 luac 命令行工具:

luac -l script.lua | grep [SG]ETGLOBAL

第二列给出了行号。最后一列(注释)给出了标识符。

2018-11-29 23:21:06