Pull to refresh

Comments 15

При многократном исполнении lua-скриптов идет JIT-компиляция, или они интерпретируются каждый раз?
В lua нет JIT, вообще. Для JIT вам нужно ответвление под названием LuaJIT, которое, кстати, чаще всего не требует даже перекомпиляции программы для перехода на него. Другое дело что в LuaJIT скрипт при повторном запуске все равно перекомпилируется.
Судя по тому, что допущенная ошибка в скрипте бросает исключение только в тот момент, когда действие скрипта дойдет собственно до места ошибки, и сравнивая это дело с определением Just-in-time, то да, JIT есть :)
Вы неправильно понимаете JIT-компиляцию. А перехват исключения в месте ошибки исполнения в скрипте никак не связан с тем интерпретируется скрипт или работает уже по скомпилированному коду.
Извините, исправил :)
Коммит сурцов в зипе в репозиторий — это слишком сурово. Для таких целей и гуглодрайв бы подошёл.
А почему именно luainterface? Эта либа отсюда (https://code.google.com/p/luainterface/)?
Там написано же:
Project Update: 30th April 2013
Over the last few years I've found very little time to work on LuaInterface. Certain platforms such as Mono/Xamarin and WinRT aren't supported well (if at all) and there are still quite a few bugs open.

I would like to suggest that the community look towards Vinicius Jarina's project on Github called NLua moving forward.

NLua is a fork of this project and I expect it will see more frequent updates over there than I am able to achieve here on Google Code.

— Craig Presti

Почему не использовать более свежий форк (https://github.com/NLua/NLua), когда сам автор исходной либы рекомендует его.
И странный способ распроcтранения либы, зип в репозитории. Можно же более культурно через NuGet www.nuget.org/packages/NLua/
А почему не делать скриптинг в приложении прямо на самом C#? Мы как-то так делали.
Наш архитектор так и говорил — зачем нам скрипты мы и так пишем на скриптах. C# можно компилировать на лету как текст так и байткод, полная интроинспекция (рефлексия), динамическая загрузка кода и все это без потери безопасности.
Там есть проблемы с выгрукой кода. Решали вопрос организацие отдельного AppDomain и его разрушением при перезагрузке скрипта. Для работы в разных доменах пришлось сделать маршалинг во всех необходимых классах. Заодно это еще сильнее добавило безопастности
Ну или на F# в котором есть хорошая out-of-the-box поддержка скриптинга?
народ!, кто сталкивался, подскажите пожалуйста: как получить данные из функции скрипта LUA в C#?
Sign up to leave a comment.

Articles