Luainterface 5.1 получает все используемые глобалы для скрипта - PullRequest
0 голосов
/ 19 января 2012

Есть ли способ получить список всех имен используемых глобальных переменных?

Один из способов - не загружать глобальные переменные и затем выполнить скрипт.пусть сбой и разбор исключения для имени .. очень некрасиво ...

1 Ответ

0 голосов
/ 22 февраля 2012

Да, у класса 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;
     }
}

Этот метод выполняет сценарий и возвращает все глобусы в файле.

...