Lua-скрипты пишутся на языке программирования Lua, что очень даже естественно. Lua — это интерпретируемый скриптовой язык родом из Бразилии. Год его рождения — 1993-й год. С тех пор он постоянно развивается и расширяет свои возможности. Lua — это язык свободного распространения. По своей функциональности он ближе к JavaScript, но по некоторым компетентным мнениям он более гибкий, чем JS.
Скрипты Lua
Скрипты Lua не имеют собственной функции, с которой бы начиналось их выполнение. Это просто список заданных инструкций, которые выполняются по порядку, стартуя с первой.
Скрипты Луа могут быть:
- простыми и содержать в себе всего одну команду;
- сложными и содержать в себе десятки, сотни и даже тысячи разных команд.
Все, что разделяет команды между собой, — это символ «;», и то это, скорее, рекомендация, а не предписание. Поэтому команды могут ничем не разделяться.
Переменные в скриптах Lua
Скриптинг Lua приспособлен к работе с переменными. Эти переменные можно именовать, используя:
- латинские символы;
- разнообразную комбинацию цифр;
- «нижнее подчеркивание».
Есть 4 требования при наименовании переменных:
- Переменные не должны начинаться с цифры.
- Регистр имеет значение! К примеру: «xyz», «XYZ» и «Xyz» — это разные имена переменных.
- Нельзя использовать зарезервированные языком имена.
- Нельзя использовать имена, которые начинаются с «нижнего подчеркивания», а продолжаются заглавными буквами. Например: «_XYZ».
Все переменные, как и в любом другом языке, делятся на 2 основных типа и могут быть:
- Глобальными. Такая переменная будет функционировать до того времени, пока будет функционировать сама среда, где исполняются скрипты Луа. И такая переменная будет доступна каждой функции Lua в рамках единой среды, где существует сама переменная.
- Локальными. Всегда, когда созданная переменная не объявляется «локальной», она будет обозначаться «глобальной». Обозначить переменную локальной возможно, используя слово «local». Например: «local x = 7», где мы создаем локальную переменную «х» и приравниваем ее значение к «7». Локальные переменные видны только в рамках блока, где объявлены. Такими «рамками» могут служить функция или конструкции со словами else, for, while и др.
Важная особенность при работе с переменными: в Lua взаимодействие с локальными переменными осуществляется эффективнее, чем с глобальными. Примите это к сведению, когда нужно «бороться» за производительность.
Какую типизацию данных воспринимают скрипты Луа
Сам по себе язык Lua воспринимает следующую типизацию данных:
- «nil» — (пустое значение);
- «boolean» — (логика);
- «number» — (числа);
- «string» — (строка);
- «function» — (работа с функциями);
- «userdata» — (информация о пользователях);
- «thread» — (работа с потоками);
- «table» — (работа с таблицами).
Любая переменная готова использовать любой из перечисленных типов — это определяет динамическая типизация языка Lua.
Комментарии в скриптах Lua
Комментарии в скриптах Lua могут быть:
- Однострочными. Этот вид комментариев определяется 2-мя «минусами»: «- -». Такой комментарий длится, пока не окончится строка. Например: «local x = 5 - - комментарий в одну строку».
- Многострочными. Этот вид комментариев обозначается «двумя минусам», но при этом само тело комментария должно быть заключено в двойные квадратные скобки. Например: «local x = 5 - -[[ комментарий в несколько строк]]».
Где используются скрипты Lua
Скриптинг Lua не так распространен, как JavaScript, но все равно за долгие годы существования этого языка он нашел последователей и занял свое место. Скрипты Lua применяются в проектах из разных сфер, некоторые из них довольно известные. Например:
- В компьютерных видеоиграх, таких как: «Crysis», «Far Cry», «Diablo 3», «STALKER» и др.
- В серверной части ММО-игр, таких как: «World of Warcraft», «Аллоды Online» и др.
- В графических программах, таких как: «Adobe Photoshop Lightroom» и др.
- В движках для игр, например, в «Instead».
- В GUI-разработке приложений.
- И др.
Заключение
Отметим несколько достоинств скриптов Луа:
- Скрипты Lua выглядят очень компактными и просто на отлично взаимодействуют с языком программирования С. А это значит, что с этой «парочкой» можно свернуть горы программирования.
- Скрипты Луа очень «быстры». По своей скорости они легко конкурируют с Python, C и JavaScript.
- Скрипты Lua писать несложно. Сам Луа достаточно простой язык, и около 80% языка вы поймете только потому, что знаете английский.
Да, Lua не самый популярный язык программирования, но он однозначно достоин внимания.
Другое