Базовый синтаксис Lua
Lua очень прост в изучении, и мы можем создать свою первую программу на Lua!
Расширение файлов кода Lua —.lua。
Первая программа на Lua
Интерактивное программирование
Lua предоставляет режим интерактивного программирования. Мы можем вводить программы в командной строке и сразу видеть результаты.
Режим интерактивного программирования Lua можно включить командой `lua -i` или `lua`:
$ lua -i $ Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio >
В командной строке введите следующую команду:
> print("Hello World!")
Затем нажмите Enter, и вывод будет следующим:
Hello World!
>
Скриптовое программирование
Мы можем сохранить код программы Lua в файл с расширением `.lua` и выполнить его. Этот режим называется скриптовым программированием. Например, мы сохраняем следующий код в файле скрипта с именем `hello.lua`:
print("Hello World!")
print("www.example.com")
Выполните приведённый выше скрипт командой `lua`, и вывод будет:
$ lua hello.lua Hello World! www.example.com
Мы также можем изменить код к следующему виду, чтобы выполнить скрипт (добавьте в начало: `#!/usr/local/bin/lua`):
Примеры
print("Hello World!")
print("www.example.com")
В приведённом выше коде мы указали интерпретатор Lua `/usr/local/bin/lua`. Добавление символа `#` сообщает интерпретатору, что его нужно игнорировать. Затем мы добавляем скрипту права на выполнение и выполняем его:
./hello.lua Hello World! www.example.com
Комментарии
Однострочный комментарий
Однострочный комментарий начинается с двух дефисов--в начале, а содержимое, следующее за ним, будет игнорироваться интерпретатором.
--
Однострочные комментарии обычно используются для кратких пояснений или пометок в коде.
Многострочный комментарий
Многострочные комментарии начинаются с--[[и заканчиваются]]подходят для случаев, когда нужно описать большой блок кода.
--[[ Multi-line comment Multi-line comment --]]
Lua не поддерживает вложенные комментарии, что означает, что вы не можете вложить другой многострочный комментарий внутрь многострочного комментария. Например, следующий код недопустим:
--[[ This is a multi-line comment --[[ Nested multi-line comment (this is illegal) ]] ]]
Идентификаторы
Идентификаторы Lua используются для определения переменной, функции или других определяемых пользователем элементов. Идентификатор начинается с буквы от A до Z или от a до z, либо с подчёркивания_за которым следуют ноль или более букв, подчёркиваний или цифр (0 до 9).
Лучше не использовать идентификаторы, состоящие из подчёркивания, за которым следуют заглавные буквы, потому что зарезервированные слова Lua также имеют такой вид.
Lua не допускает специальные символы, такие как@, $, и%для определения идентификаторов. Lua — язык программирования, чувствительный к регистру. Поэтому в Lua Example и example — два разных идентификатора.
Ниже перечислены некоторые правильные идентификаторы:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
Ключевые слова
Ниже перечислены зарезервированные ключевые слова Lua. Зарезервированные ключевые слова нельзя использовать как константы, переменные или другие определяемые пользователем идентификаторы:
| и | break | do | else |
| elseif | end | false | for |
| функция | if | in | local |
| nil | not | или | repeat |
| return | затем | истина | until |
| while | goto |
По общему соглашению имена, начинающиеся с подчёркивания, за которым следует строка заглавных букв (например, `_VERSION`), зарезервированы для внутренних глобальных переменных Lua.
Глобальные переменные
По умолчанию переменные всегда считаются глобальными.
Глобальные переменные не нужно объявлять. Присваивание значения переменной создаёт эту глобальную переменную. Обращение к неинициализированной глобальной переменной не вызывает ошибку; оно просто даёт результат: `nil`.
nil
> b=10
> print(b)
10
>
Если вы хотите удалить глобальную переменную, просто присвойте переменной `nil`.
b = nil print(b) --> nil
Таким образом, переменная `b` выглядит так, будто она никогда не использовалась. Иными словами, переменная существует тогда и только тогда, когда она не равна `nil`.
Другие расширения