[Lua] Как не перезагружать каждый раз скрип
От: emp  
Дата: 18.04.10 07:33
Оценка:
Я новичек в луа. На данный момент у меня есть несколько скриптов и каждый раз когда нужно вычислить какую либо ф-цию из него, я делаю следующую последовательность:
— luaL_loadfile
— lua_pcall
— lua_getglobal(L, "start")
— lua_pushnumber
— lua_pcall

В разных скриптах есть одинаковая ф-ция, например, start.
Как бы сделать так, чтобы первые два вызова как бы сохраняли "контекст", чтобы больше не загружать файл и не выполнять его каждый раз. А начинать уже с lua_getglobal.

19.04.10 13:31: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: [Lua] Как не перезагружать каждый раз скрип
От: emp  
Дата: 18.04.10 08:57
Оценка:
Ну или дайте хоть ссылку на "хорошие практики". а то везде либо примитивные примеры, либо слишком сложные из более-менее реальных проектов.
Re[2]: [Lua] Как не перезагружать каждый раз скрип
От: Guard_h4s Россия  
Дата: 18.04.10 09:11
Оценка: 2 (1)
Здравствуйте, emp, Вы писали:

emp>Ну или дайте хоть ссылку на "хорошие практики". а то везде либо примитивные примеры, либо слишком сложные из более-менее реальных проектов.


Помещайте свою функцию start в таблицу. Тогда и не потребуется обновлять каждый раз. По другому никак.
Либо держите отдельные интерпретаторы (потоки луа вам тут не помогут, они шарят глобальную таблицу)

Ну и общая рекомендация — используйте библиотеки типа luabind для связывания кода.
"хорошие практики" я не видел, да там особо и нет ничего сложного.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.