Каковы наиболее эффективные способы использования Lua с C #? - PullRequest
3 голосов
/ 25 декабря 2008

Насколько я понимаю, Lua - это встраиваемый язык сценариев, который может выполнять методы на объектах. Какие подводные камни следует избегать? Возможно ли использовать Lua в качестве интерпретатора и выполнять методы в веб-среде или в качестве механизма правил?

Ответы [ 4 ]

6 голосов
/ 25 декабря 2008

Сценарии Lua на пути , чтобы стать основным модулем для веб-сервера Apache.

Существует пара инструментов для привязки кода Lua и C # /. NET здесь . LuaInterface является самым современным.

5 голосов
/ 25 декабря 2008

Lua очень быстр - скрипты могут быть предварительно скомпилированы в байт-коды, а функции выполняются близко к вызовам виртуальных методов C ++. Именно поэтому он используется в игровой индустрии для написания скриптов ИИ, плагинов и других высокоуровневых вещей в играх.

Но вы добавили C # и веб-сервер в свои теги вопросов.

Если вы не думаете о встроенных веб-серверах - тогда Lua не очень силен. Lua - это ANSI C - он компилируется в нативный код, и поэтому не очень приветствуется ни для вашего сервера asp.net, ни для вашего кода C #. Подумайте о «среднем доверии» или «связывании» или «64 бита».

Достаточно ловушек. Если вы уже используете C #, нет причин избегать его на веб-сервере. Он компилируется и кэшируется. Он обслуживает огромные сайты, подобные этому.

2 голосов
/ 29 декабря 2008

Мы использовали Lua в качестве языка сценариев в приложении управления биомедицинскими инструментами среднего размера C #. Это был отличный способ научить тех, кто занимается аппаратным обеспечением, написанию своих маленьких кусочков тестового кода.

Как только IronPython достиг зрелости, мы решили, что, поскольку Python немного более полнофункциональный и хорошо интегрируется с VS (а также с большим количеством людей, которые его используют), мы заменим весь наш Lua на Python. Пока что это работает довольно хорошо. Lua - прекрасный маленький язык, я не уверен, что могу думать о каких-либо преимуществах Lua по сравнению с Python на данный момент.

Lua может быть немного быстрее, но если вы уже разбиваете свои домены на script-y и non-script-y, вероятно, это не является большим фактором.

1 голос
/ 25 декабря 2008

Мне нравится Lua за то, что он выделяется как язык, особенно когда используется вместе с C / C ++, как и должно быть. Для меня это слияние этих двух "делает" язык.

Подводные камни. Отсутствие модулей расширения можно рассматривать как единое целое. Вроде нет CPAN, но есть LuaRocks. Зависит от того, достаточно ли у вас привязок для решения вашей проблемы. Если нет, возможно, вам придется их делать.

Языковые подводные камни. В Lua wiki есть некоторые пожелания, которые можно рассматривать как «подводные камни». Нет «переключателя» заявления. Нет правильного формата "cond? A: b". Если вы не хотите сосредоточиться на таких довольно поверхностных синтаксических вещах, то, возможно, JavaScript для вас?

В целом, это язык, который делает меня в 10-100 раз более продуктивным, чем программирование без него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...