URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 53086
[ Назад ]

Исходное сообщение
"Встраивание Lua скриптов в приложения на языке Си"

Отправлено opennews , 24-Апр-09 15:13 
Lua - небольшой скриптовой язык программирования, специально разработанный для встраивания в другие программы. Прикладной программный интерфейс Lua для C позволяет создавать очень простой и понятный код как для вызова Lua из C, так и для вызова C из Lua. Это позволяет разработчикам, которым нужен удобный скриптовой язык, действующий во время выполнения, просто реализовывать необходимые для языка основные элементы программного интерфейса, после чего вызывать из своих приложений код на Lua. В статье (http://www.ibm.com/developerworks/ru/library/l-embed-lua/ind...) Lua рассматривается как средство упрощения распространенных задач разработки, а также обсуждаются некоторые причины для встраивания скриптового языка на начальном этапе работы.

URL: http://www.ibm.com/developerworks/ru/library/l-embed-lua/ind...
Новость: http://www.opennet.me/opennews/art.shtml?num=21435


Содержание

Сообщения в этом обсуждении
"Встраивание Lua скриптов в приложения на языке Си"
Отправлено metallic , 24-Апр-09 15:13 
Мы его в разработке игр используем, уровни скриптуем и тд

"Встраивание Lua скриптов в приложения на языке Си"
Отправлено anonimous , 26-Апр-09 23:35 
>Мы его в разработке игр используем, уровни скриптуем и тд

С некоторым удивлением обнаружил его в скриптовании Double Commander (http://doublecmd.sourceforge.net)

http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=pr...

С удивлением поскольку казалось бы для проги на Паскале так и просится встроить Pascal Script

Pascal Script 3 is free and comes with full source code.
You can also access the latest version of PS directly in the SVN version control system, at svn://svn.remobjects.com/pascalscript
One prominent use of Pascal Script is the Open Source InnoSetup project that uses Pascal Script as scripting engine to provide advanced scripting abilities during installation and uninstallation.

посмотрел пример

function ContentGetSupportedField(Index)
  if (first) then
    first=false;
    return 'FieldName','', 8; -- FieldName,Units,ft_string
  end  
end

Сразу был неприятно поражен бессмысленным изобретательством. Типа -- это комментарий, а // это видимо декремент у них будет. Все таки изобретатели нынешних недоязыков неисправимы.


"Встраивание Lua скриптов в приложения на языке Си"
Отправлено User294 , 24-Апр-09 15:55 
> Мы его в разработке игр используем, уровни скриптуем и тд

А ему можно права обкусить, чтобы скрипты уровней и т.п. не могли скажем по ФС у юзера шариться и т.п.?


"Встраивание Lua скриптов в приложения на языке Си"
Отправлено Aleksey , 24-Апр-09 18:38 
>> Мы его в разработке игр используем, уровни скриптуем и тд
>
>А ему можно права обкусить, чтобы скрипты уровней и т.п. не могли
>скажем по ФС у юзера шариться и т.п.?

Там проблема противоположная. Т.е. по умолчанию он вообще ничего не умеет - только считать и (если не выключено) выводить на экран. А дальше все в ваших руках. Вообще Lua - это вещь!


"Встраивание Lua скриптов в приложения на языке Си"
Отправлено User294 , 27-Апр-09 01:03 
>Там проблема противоположная. Т.е. по умолчанию он вообще ничего не умеет -

Хм, может тогда пригодится авторам игрухи BfW как скриптовый движок - а то питон их подкачал слабыми песочницами а давать AI-скриптам с ремотного сервера (куда юзеры карты льют) полный доступ к системам других юзеров как-то неправильно и чревато (мало чтоли пудаков которые зальют трояна и мало чтоли бакланов его скачают?) - в итоге питоновый AI в игрухе BfW был закопан for security reasons.

>только считать и (если не выключено) выводить на экран.

Вот от AI скриптов в BfW и требуется только считать - может им подойдет? =)

>А дальше все в ваших руках. Вообще Lua - это вещь!

Лично мне он не нравится паскакалевской природой, в общем случае си-подобная запись лаконичнее и мне более по душе.Но - вроде используется местами и вроде даже успешно, стало быть право на жизнь имеет.


"Встраивание Lua скриптов в приложения на языке Си"
Отправлено . , 27-Апр-09 06:07 
>Лично мне он не нравится паскакалевской природой, в общем случае
>си-подобная запись лаконичнее и мне более по душе

как бы общепризнано, что паскаль ближе си к естественному языку


"Встраивание Lua скриптов в приложения на языке Си"
Отправлено аноним , 24-Апр-09 18:20 
pike?

"Встраивание Lua скриптов в приложения на языке Си"
Отправлено Aleksey , 24-Апр-09 19:40 
pike это полностью обычный язык программирования, а Lua - встраиваемый. Можно из C++ программы вызывать Lua-программу так, чтобы она могла использовать, например, ваши объекты и функции.