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

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