* **Комментарии:** Комментарии используются для объяснения кода и игнорируются при выполнении. Однострочные комментарии начинаются с двух дефисов (`–`), а многострочные комментарии заключаются между `–[[` и `–]]`.
```lua
–– Это однострочный комментарий
–-[[
Это
многострочный
комментарий
]]
print("Hello, Roblox!") – Вывод сообщения в консоль
```
* **Блоки кода:** Блоки кода, такие как тело функций или циклов, выделяются ключевыми словами, например `function`, `end`, `if`, `then`, `else`, `for`, `do`, `while`.
**1.2 Переменные, типы данных и операторы**
**Переменные** – это контейнеры для хранения данных. В Lua переменные объявляются неявно, то есть вам не нужно указывать их тип перед использованием. Тип переменной определяется автоматически в зависимости от присвоенного ей значения.
```lua
myVariable = 10 – myVariable – число
myName = "Roblox" – myName – строка
isGameRunning = true – isGameRunning – логическое значение (булево)
```
**Основные типы данных в Lua:**
* **nil:** Представляет отсутствие значения.
* **boolean:** Логический тип, может принимать значения `true` или `false`.
* **number:** Числовой тип, представляющий как целые, так и дробные числа.
* **string:** Строковый тип, представляет собой последовательность символов, заключенных в двойные ("") или одинарные ('') кавычки.
* **table:** Таблица – это мощная структура данных, которая может использоваться для создания массивов, словарей и других сложных структур.
* **function:** Функция – это блок кода, который можно многократно вызывать.
* **userdata:** Специальный тип данных, используемый для представления объектов C, используемых в Roblox API.
* **thread:** Представляет собой корутину (сопрограмму).
**Операторы** используются для выполнения операций над данными. Lua поддерживает следующие типы операторов:
* **Арифметические:** `+` (сложение), `-` (вычитание), `*` (умножение), `/` (деление), `%` (остаток от деления), `^` (возведение в степень).
* **Сравнения:** `==` (равно), `~=` (не равно), `>` (больше), `<` (меньше), `>=` (больше или равно), `<=` (меньше или равно).
* **Логические:** `and` (логическое И), `or` (логическое ИЛИ), `not` (логическое НЕ).
* **Конкатенации:** `..` (соединение строк).
* **Длины:** `#` (возвращает длину строки или таблицы).
```lua
x = 10
y = 5
sum = x + y – sum = 15