2.1 Числа

Числа в Lua могут быть целыми или дробными. Пример:


-- Пример инициализации числа
local myNumber = 99

-- Арифметические операции
local sum = myNumber + 1
local difference = myNumber - 10
local product = myNumber * 2
local quotient = myNumber / 3
local remainder = myNumber % 4

print("Sum:", sum)
print("Difference:", difference)
print("Product:", product)
print("Quotient:", quotient)
print("Remainder:", remainder)
            

Задание: Создайте переменную myNumber и присвойте ей значение 50. Затем вычислите и выведите результат умножения на 2.


-- Ваш код здесь
local myNumber = 50
local result = myNumber * 2
print("Result:", result)
            

2.2 Логические значения (Boolean)

Логические значения могут быть только true или false. Пример:


-- Пример инициализации логического значения
local myBool = true

-- Инверсия логического значения
myBool = not myBool

print("My Bool:", myBool)
            

Задание: Создайте переменную isGameActive и присвойте ей значение false. Затем инвертируйте её значение и выведите результат.


-- Ваш код здесь
local isGameActive = false
isGameActive = not isGameActive
print("Is Game Active?", isGameActive)
            

2.3 Строки

Строки в Lua могут быть созданы с использованием двойных кавычек или многострочных скобок. Пример:


-- Пример инициализации строки
local myString = "Hello"

-- Конкатенация строк
myString = myString .. " World!"

-- Экранирование символов
local escapedString = "This is a new line\n\tThis is a tab"

-- Многострочные строки
local multiLineString = [[
This is a multi-line string.
It can span multiple lines.
]]

print("My String:", myString)
print("Escaped String:", escapedString)
print("Multi-line String:", multiLineString)
            

Задание: Создайте строку greeting со значением "Hello" и добавьте к ней строку " Lua!". Выведите результат.


-- Ваш код здесь
local greeting = "Hello"
greeting = greeting .. " Lua!"
print("Greeting:", greeting)
            

2.4 Таблицы

Таблицы в Lua используются для хранения коллекций данных. Пример:


-- Пример инициализации таблицы
local myTable = {1, 2, 3}

-- Добавление элемента в таблицу
table.insert(myTable, 4)

-- Удаление элемента из таблицы
table.remove(myTable, 2)

print("Table:", table.concat(myTable, ", "))
            

Задание: Создайте таблицу myTable с элементами 10, 20, 30. Добавьте элемент 40 и выведите таблицу.


-- Ваш код здесь
local myTable = {10, 20, 30}
table.insert(myTable, 40)
print("Table:", table.concat(myTable, ", "))
            

2.5 Словари (Dictionaries)

Словари — это таблицы, где данные хранятся в виде пар ключ-значение. Пример:


-- Пример инициализации словаря
local menu = {
    appetizer = "Салат",
    entree = "Сэндвич",
    dessert = "Мороженое"
}

-- Доступ к элементу по ключу
print("Entree:", menu.entree)
            

Задание: Создайте словарь player с ключами name, health, и level. Выведите значение ключа name.


-- Ваш код здесь
local player = {
    name = "Robloxian",
    health = 100,
    level = 5
}
print("Player Name:", player.name)
            

2.6 Векторы (Vectors)

Векторы используются для представления направлений и величин в 3D пространстве. Пример:


-- Пример инициализации вектора
local myVector = Vector3.new(1, 2, 3)

-- Арифметика с векторами
local newVector = myVector + Vector3.new(1, 1, 1)

print("New Vector:", newVector)
            

Задание: Создайте вектор position со значениями (10, 20, 30). Добавьте к нему вектор (5, 5, 5) и выведите результат.


-- Ваш код здесь
local position = Vector3.new(10, 20, 30)
position = position + Vector3.new(5, 5, 5)
print("New Position:", position)
            

2.7 CFrame

CFrame используется для работы с положением и поворотом объектов в 3D пространстве. Пример:


-- Пример инициализации CFrame
local myCFrame = CFrame.new(0, 0, 0)

-- Операции с CFrame
local newCFrame = myCFrame * CFrame.Angles(0, math.rad(90), 0)

print("New CFrame:", newCFrame)
            

Задание: Создайте CFrame myCFrame с позицией (5, 10, 15). Поверните его на 45 градусов по оси Y и выведите результат.


-- Ваш код здесь
local myCFrame = CFrame.new(5, 10, 15)
myCFrame = myCFrame * CFrame.Angles(0, math.rad(45), 0)
print("New CFrame:", myCFrame)
            

3. Таблица типов данных Lua

Тип данных Описание Ссылка на репозиторий
Числа Целые и дробные числа. Ссылка на репозиторий
Логические значения (Boolean) Логические значения true или false. Ссылка на репозиторий
Строки Строки символов, заключённые в кавычки. Ссылка на репозиторий
Таблицы Коллекции данных, индексируемые числами. Ссылка на репозиторий
Словари (Dictionaries) Таблицы с ключами и значениями. Ссылка на репозиторий
Векторы (Vectors) Трёхмерные векторы для работы с направлениями и величинами. Ссылка на репозиторий
CFrame Положение и поворот объектов в 3D пространстве. Ссылка на репозиторий