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

有没有一种方法可以获取所有已使用全局变量的名称列表?

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

原文链接 https://stackoverflow.com/questions/8931586

点赞
stackoverflow用户895114
stackoverflow用户895114

是的,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;
     }
}

这个方法执行脚本并返回文件中的所有全局变量。

2012-02-21 20:44:05