Lua - базовый синтаксис
Приступим к созданию нашей первой программы на Lua!
Первая программа Lua
Программирование в интерактивном режиме
Lua предоставляет режим, называемый интерактивным режимом. В этом режиме вы можете вводить инструкции одну за другой и мгновенно получать результаты. Это можно вызвать в оболочке с помощью lua -i или просто команды lua. После того, как вы введете это, нажмите Enter, и интерактивный режим будет запущен, как показано ниже.
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
Вы можете распечатать что-нибудь, используя следующий оператор -
print("test")
После того, как вы нажмете Enter, вы получите следующий результат -
test
Программирование режима по умолчанию
Вызов интерпретатора с параметром имени файла Lua начинает выполнение файла и продолжается до завершения сценария. Когда сценарий завершен, интерпретатор больше не активен.
Напишем простую программу на Lua. Все файлы Lua будут иметь расширение .lua. Поэтому поместите следующий исходный код в файл test.lua.
print("test")
Предполагая, что среда lua настроена правильно, давайте запустим программу, используя следующий код -
$ lua test.lua
Мы получим следующий результат -
test
Давайте попробуем другой способ выполнить программу Lua. Ниже приведен модифицированный файл test.lua -
#!/usr/local/bin/lua
print("test")
Здесь мы предположили, что у вас есть интерпретатор Lua, доступный в вашем каталоге / usr / local / bin. Первая строка игнорируется интерпретатором, если она начинается со знака #. Теперь попробуйте запустить эту программу следующим образом -
$ chmod a+rx test.lua
$./test.lua
Мы получим следующий результат.
test
Давайте теперь посмотрим на основную структуру программы Lua, чтобы вам было легко понять основные строительные блоки языка программирования Lua.
Токены в Lua
Программа Lua состоит из различных токенов, и токен представляет собой ключевое слово, идентификатор, константу, строковый литерал или символ. Например, следующий оператор Lua состоит из трех токенов -
io.write("Hello world, from ",_VERSION,"!\n")
Отдельные токены -
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
Комментарии
Комментарии похожи на вспомогательный текст в вашей программе Lua, и интерпретатор игнорирует их. Они начинаются с - [[и заканчиваются символами -]], как показано ниже -
--[[ my first program in Lua --]]
Идентификаторы
Идентификатор Lua - это имя, используемое для идентификации переменной, функции или любого другого определяемого пользователем элемента. Идентификатор начинается с буквы от «A до Z» или от «от a до z» или символа подчеркивания «_», за которым следуют ноль или более букв, символов подчеркивания и цифр (от 0 до 9).
Lua не допускает символов пунктуации, таких как @, $ и%, в идентификаторах. Lua - этоcase sensitiveязык программирования. Таким образом, рабочая сила и рабочая сила - это два разных идентификатора в Lua. Вот несколько примеров приемлемых идентификаторов -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
Ключевые слова
В следующем списке показаны несколько зарезервированных слов в Lua. Эти зарезервированные слова нельзя использовать в качестве констант, переменных или любых других имен идентификаторов.
и | сломать | делать | еще |
elseif | конец | ложный | за |
функция | если | в | местный |
ноль | не | или же | повторение |
возвращение | тогда | правда | до того как |
в то время как |
Пробелы в Lua
Строка, содержащая только пробелы, возможно с комментарием, называется пустой строкой, и интерпретатор Lua ее полностью игнорирует.
Пробел - это термин, используемый в Lua для описания пробелов, табуляции, символов новой строки и комментариев. Пробел отделяет одну часть оператора от другой и позволяет интерпретатору определить, где заканчивается один элемент в операторе, например int, и начинается следующий элемент. Следовательно, в следующем заявлении -
local age
Между local и age должен быть хотя бы один пробел (обычно пробел), чтобы интерпретатор мог их различить. С другой стороны, в следующем заявлении -
fruit = apples + oranges --get the total fruit
Между фруктами и = или между = и яблоками нет необходимости в пробельных символах, хотя вы можете добавить некоторые из них, если хотите для удобства чтения.