Luainterface 5.1为脚本获取所有使用过的全局变量

本文关键字:全局变量 脚本 获取 Luainterface | 更新日期: 2023-09-27 18:20:54

是否可以获得所用全局变量的所有名称的列表?

一种方法是不加载任何全局变量,然后执行脚本。让它崩溃并解析名称的异常。。非常丑陋。。。

Luainterface 5.1为脚本获取所有使用过的全局变量

是的,Lua类有一个名为Globals的属性,它是IEnumerable<string>,所以你可以这样做:

public static IEnumerable<string> GetGlobalsFromFile(string fileName)
{
     using (Lua lua = new Lua())
     {
          lua.DoFile(filename);
          foreach(string global in lua.Globals)
               yeld return global;
     }
}

这个方法的作用是执行一个srpt并返回文件中的所有globas。