У меня есть некоторые проблемы с библиотекой C# luainterface:проблем luainterface
1. Так что загружает сценарий и извлечь его функцию так:
LuaFunction function = lua.GetFunction("Update");
Но что, если я загружаю два различных сценариев, содержит функции с тем же именем. Как извлечь две разные функции с тем же именем из сценариев1 и script2?
2. Если я загружаю функции в память, можно ли разместить конкретную, а не все функции?
3. Когда я использую метод Lua.DoFile, я хочу выполнить определенную функцию из файла. Любые идеи, как это сделать?
Редактировать
2. я обнаружил, что я могу сделать что-то вроде этого
string f = @"
function hh()
end";
var result = lua.DoString(f)[0] as LuaFunction;
, но по какой-то причине я получаю пустое исключение. Любые идеи почему?
Thank you. Это именно то, чего я хотел. Всего несколько быстрых вопросов. Почему мне нужно использовать «[0] в« lua.DoString («return 10 + 10») [0]; »? Так что мне удалось загрузить эти отдельные функции в память. Я загрузил их много в список (в то время программа занимает около 54 МБ), но когда я удаляю все LuaFunctions и очищаю список, программа по-прежнему занимает около 34 МБ ОЗУ. Так что, как я понимаю, эти функции все еще хранятся в памяти компьютера, хотя я их и использовал. что-то не так? –
user2055675
И можно ли получить все глобальные переменные, определенные в сценарии .lua? Я знаю, что я могу использовать lua.Globals, но он возвращает только глобальные переменные, определенные внутри .Net-программы, а не скрипта. – user2055675
Еще один вопрос, если это не так много. Можно ли получить локальные переменные, которые определены в сценарии .lua (внешняя область функций)? – user2055675