Учебники

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.

Live Demo

print("test")

Предполагая, что среда lua настроена правильно, давайте запустим программу, используя следующий код —

$ lua test.lua

Мы получим следующий вывод —

test

Давайте попробуем другой способ выполнить программу Lua. Ниже приведен модифицированный файл test.lua —

Live Demo

#!/usr/local/bin/lua

print("test")

Здесь мы предположили, что в вашем каталоге / usr / local / bin есть интерпретатор Lua. Первая строка игнорируется интерпретатором, если она начинается со знака #. Теперь попробуйте запустить эту программу следующим образом:

$ chmod a+rx test.lua
$./test.lua

Мы получим следующий вывод.

test

Давайте теперь посмотрим на базовую структуру программы 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-идентификатор — это имя, используемое для идентификации переменной, функции или любого другого пользовательского элемента. Идентификатор начинается с буквы «от А до Я» или «от А до Я» или со знака подчеркивания «_», за которым следуют ноль или более букв, подчеркиваний и цифр (от 0 до 9).

Lua не допускает знаки препинания, такие как @, $ и% в идентификаторах. Lua — чувствительный к регистру язык программирования. Таким образом, рабочая сила и рабочая сила — два разных идентификатора в Lua. Вот несколько примеров допустимых идентификаторов:

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

Ключевые слова

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

а также перерыв делать еще
ElseIf конец ложный за
функция если в местный
ноль не или же повторение
вернуть затем правда до тех пор
в то время как

Пробелы в Луа

Строка, содержащая только пробел, возможно, с комментарием, называется пустой строкой, и интерпретатор Lua полностью игнорирует ее.

Пробел — это термин, используемый в Lua для описания пробелов, вкладок, символов новой строки и комментариев. Пробелы отделяют одну часть оператора от другой и позволяют интерпретатору определить, где заканчивается один элемент в выражении, например, int, и начинается следующий элемент. Поэтому в следующем утверждении —

local age

Должен быть хотя бы один пробельный символ (обычно пробел) между местным и возрастом, чтобы переводчик мог их различить. С другой стороны, в следующем утверждении —

fruit = apples + oranges   --get the total fruit

Никаких пробельных символов не требуется между фруктами и = или между = и яблоками, хотя вы можете включить некоторые из них, если хотите, чтобы они были удобочитаемыми.