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-разработке приложений.
- И др.
Возможно вам будет интересно почитать статью “Что такое todo file description?”
Заключение
Отметим несколько достоинств скриптов Луа:
- Скрипты Lua выглядят очень компактными и просто на отлично взаимодействуют
с языком программирования С. А это значит, что с этой «парочкой» можно свернуть
горы программирования. - Скрипты Луа очень «быстры». По своей скорости они легко конкурируют с Python,
C и JavaScript. - Скрипты Lua писать несложно. Сам Луа несложный язык и около 80% языка вы
поймете только потому, что знаете английский язык.
Да, Lua не самый популярный язык программирования, но однозначно достоин
внимания.