2009-08-13 12 views
24

Я читал кое-что о Луа в этот день, и мне было интересно, что это было.Lua, что такое Lua?

Я сделал Google и Википедию (я понял это, пока они не начали говорить о C API), бит поиска я до сих пор не понимаю.

Что такое Lua? Есть ли учебники для начинающих?

+2

Точно, что ты не понимаешь? – Geo

+6

Чистый язык программирования с нечетным именем! – NoMoreZealots

+0

@Geo. Что такое Луа. – 2009-08-19 16:08:46

ответ

31

Lua это язык сценариев для C и C++. Это позволяет использовать более простой синтаксис Lua и выполнять эти сценарии в вашем приложении C/C++. Поэтому вам не нужно компилировать программу для каждого изменения, но просто доставьте новую версию скрипта.

Для учебных пособий просто используйте Google, вы найдете достаточно, чтобы вы были заняты в следующие дни.

+0

Я добавил к этому, что он позволяет довольно легко вызывать код C (не знаю о C++, никогда не делал этого сам, а может быть) из вашего сценария Lua. Также он крошечный и довольно быстрый. Это делает его идеальным «клеем» для приложения. О, и это идеальный синтаксический анализатор файлов (если вы не импортируете какие-либо функции в контекст интерпретатора, который вы используете для разбора конфигурационных файлов). –

+19

Это не только для C/C++. Среда выполнения Lua может использоваться и на других языках, а также есть варианты, отличные от официальных. Сам Lua технически не связан с C или C++. – OregonGhost

40

Lua - это легкий интерпретируемый язык программирования, разработанный в Бразилии с уделением особого внимания внедрению.

Это написано на Pure ANSI C, что означает высокую переносимость, даже как код на C++.

Вот пример:

print("Hello World!") 

Wikipedia Summary

Official Site

+5

Я бы добавил, что основные игры, такие как crysis, используют его для написания сценариев. –

+11

Не забудьте World of Warcraft! Из-за этой игры были созданы армии хакеров Lua. –

14

Lua - это язык сценариев. Ссылка на lua.org. Он сильно используется в разработке игр, особенно (для меня) World of Warcraft.

+7

Интересно, думал ли кто-нибудь, что я работал на Blizzard. Я не. Я просто играл и наслаждался игрой в течение долгого времени. С другой стороны, бросить курить было лучше всего для моей жизни./shrug –

+0

Я дал вам +1 за удивительность вашего ответа! – Mark

10

Lua - легкий, встраиваемый язык сценариев. Он получил большую популярность частично из-за его использования во многих популярных играх. Хорошим примером этого является World of Warcraft, который использует встроенную версию lua для управления поведением элементов пользовательского интерфейса в игре.

Хорошее введение в язык можно найти здесь: http://computer-programming-languages.suite101.com/article.cfm/a_brief_introduction_to_lua_scripting

И официальный интернет-справочник по языку можно найти здесь: http://www.lua.org/manual/5.1/

8

Это язык сценариев, который предназначен для работы с C (и C++). Он предназначен для интеграции в программы на C/C++. Это означает, что в отличие от многих других языков сценариев, он не использует глобальные переменные и т. Д., Это означает, что вы можете легко запускать lua-скриптовые движки.

Он также утверждает, что является самым быстрым динамическим языком сценариев.

Я использовал его в ПК на основе C++-приложения для создания интерфейса скриптовых скриптов, а также использовал его как встроенный язык сценариев. Его довольно универсальный, красивый и маленький.

как обычный язык сценариев? Это не совсем в той же лиге, что и ваш материал ruby ​​/ python/perl. В нем не так много библиотек, и пользовательское сообщество довольно мало.

Но для расширения приложений на C++/C? это потрясающе.

24

Lua - простой легкий переносимый динамически типизированный встраиваемый и расширяемый язык сценариев с несколькими парадигмами. «Ваниль» (кто-то сказал бы официальную), что ее реализация производится исключительно на ANSI C и имеет потрясающий (простой, но мощный) API C, который вы можете использовать для встраивания Lua в ваше приложение или расширения поведения самого языка. Он разработан на факультете информатики Папского католического университета в Рио-де-Жанейро (PUC-Rio).

Думал, что это не было в первую очередь предназначено для этого, Lua нашла большую нишу в игровых сценариях с такими большими именами, как «Grim Fandango» и «World of Warcraft». Тем не менее, благодаря своей скорости, простоте и переносимости, он также широко используется во встроенных системах (см., Например, проект eLua) и графических вычислениях.

Его философия должна быть минималистической, то есть ее основные библиотеки очень малы с минимальной функциональностью (совсем как стандартные библиотеки C), хотя через C API очень просто добавить функции, которые не были бы возможны через чистую базовую библиотеку, такую ​​как сокеты, графические интерфейсы и т. д. На самом деле Lua настолько минималистичен, что основным и только структурированным типом данных являются «таблицы», которые можно описать как ассоциативные массивы на «roids».

Lua является процедурной по своей сути, но также поддерживает множество парадигм, таких как функциональное программирование и ориентация объектов.

Хотя Lua не самый быстрый язык сценариев (вероятно, проект V8 javascript выигрывает приз), он очень быстр (быстрее, чем ванильный Python или Ruby, например), а также имеет неформальную реализацию точно в срок называется LuaJIT.

В конце концов, Lua на самом деле не более чем забавный язык для игры, который я рекомендую !. =)

Об учебниках, я бы рекомендовал статью об этом на lua-users wiki.

Надеюсь, я помог! =)

PS: Я не мог опубликовать все ссылки, потому что я новичок в переполнении стека, но в Google не должно быть сложно найти все. Сожалею. = (

+1

Есть ориентиры, плавающие вокруг, которые показывают самую быструю реализацию JIT - LuaJIT. По-видимому, LuaJIT даже выполнил работу над V8. – TechZilla

3

Lua является СЦЕНАРИЯМИ языка написан на C и обычно используется в разработке игр из-за его силу и гибкости. Lua также кросс-платформенным, поэтому он может быть использован в любом месте на любой платформе. Lua также может быть . используется в качестве языка программирования с удобной программой я использую под названием AutoPlay Media Studio, которая позволяет создавать полноценные приложения для платформы Windows, я надеюсь, что это очищает вещи для вас

Веб-сайт:..http://www.lua.org
AutoPlay Media Studio:http://www.indigorose.com.

3

API C, который выглядит как часть, которая вас смущает, предназначена для того, чтобы вам было легко взять существующий код C (или новый код C) и управлять им с помощью сценария Lua. Это то, что подразумевается под встраиванием. Благодаря внедрению вы можете получить легкий, программируемый, интерактивный текстовый интерфейс для любого кода C, за очень небольшие усилия. Даже если вы сами не встраиваетесь, Lua - очень хороший маленький скриптовый язык.

Мой любимый пример: хороший человек положил много системных вызовов POSIX в Lua.Когда я хочу что-то похожее на скрипт оболочки, но более изощренный, я могу просто использовать эту библиотеку. Аналогично с библиотекой MD5 и многими другими.

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

2

Lua - мощный, быстрый, легкий, встраиваемый скриптовый язык.

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

больше вы можете прочитать here

Смежные вопросы