Lua - Оператори

Привіт, юні програмісти! Сьогодні ми вирушаємо на захоплюючу подорож у світ операторів Lua. Не хвилюйтесь, якщо ви ніколи раніше не писали код – я буду вашим доброзичливим guide, і ми будемо досліджувати цю тему крок за кроком. До кінця цього уроку ви будете маніпулювати даними як профі!

Lua - Operators

Арифметичні оператори

Почнемо з чогось знайомого: математики! Lua надає нам арифметичні оператори, які працюють так само, як ті, що ви використовували на уроці математики.

Основні арифметичні оператори

Ось таблиця основних арифметичних операторів у Lua:

Оператор Опис Приклад
+ Додавання 5 + 3 = 8
- Віднімання 10 - 4 = 6
* Множення 3 * 4 = 12
/ Ділення 20 / 5 = 4
% Мódulus (залишок) 17 % 5 = 2
^ Степенування 2 ^ 3 = 8

Давайте подивимося, як вони працюють:

print(5 + 3)  -- Вивід: 8
print(10 - 4) -- Вивід: 6
print(3 * 4)  -- Вивід: 12
print(20 / 5) -- Вивід: 4
print(17 % 5) -- Вивід: 2
print(2 ^ 3)  -- Вивід: 8

Кожен рядок виконує різну арифметичну операцію та виводить результат. Символ -- вказує на коментар, який ігнорується Lua, але допомагає нам зрозуміти код.

Оператор módulus

Оператор módulus (%) може бути новим для деяких з вас. Він дає нам залишок після ділення. Уявіть це як питання: "Якщо я розділю ці числа, що залишиться?" Наприклад, коли ми ділимо 17 на 5, ми отримуємо 3 з залишком 2. Ось чому 17 % 5 дорівнює 2.

Рівняння оператори

Тепер перейдемо до рівняння операторів. Вони використовуються для порівняння значень і завжди мають результат true або false.

Оператор Опис Приклад
== Рівний 5 == 5 є істинним
~= Не рівний 5 ~= 4 є істинним
> Більше за 7 > 3 є істинним
< Менше за 2 < 8 є істинним
>= Більше або рівний 5 >= 5 є істинним
<= Менше або рівний 4 <= 4 є істинним

Давайте спробуємо їх:

print(5 == 5)  -- Вивід: true
print(5 ~= 4)  -- Вивід: true
print(7 > 3)   -- Вивід: true
print(2 < 8)   -- Вивід: true
print(5 >= 5)  -- Вивід: true
print(4 <= 4)  -- Вивід: true

Пам'ятайте, що в Lua ми використовуємо ~= для "не рівний", що відрізняється від деяких інших мов програмування, які використовують !=.

Логічні оператори

Логічні оператори використовуються для об'єднання умовних операторів. Вони схожі на "і", "або" та "не" в повсякденному мовленні.

Оператор Опис
and Істинно, якщо обидва операнди істинні
or Істинно, якщо принаймні один операнд істинний
not Інвертує логічний стан

Ось як ми їх використовуємо:

print(true and false)  -- Вивід: false
print(true or false)   -- Вивід: true
print(not true)        -- Вивід: false

-- Ми також можемо використовувати їх з змінними
local x = 5
local y = 10
print(x < 10 and y > 5)  -- Вивід: true
print(x > 10 or y < 5)   -- Вивід: false

У останньому прикладі x < 10 and y > 5 є істинним, тому що обидві умови істинні: x менше за 10, і y більше за 5.

Інші оператори

Lua має кілька інших операторів, які не підходять під попередні категорії:

Оператор Опис Приклад
.. Конкатенація (об'єднання рядків) "Hello " .. "World" = "Hello World"
# Оператор довжини #"Hello" = 5

Давайте подивимося, як вони працюють:

print("Hello " .. "World")  -- Вивід: Hello World
print(#"Hello")             -- Вивід: 5

Оператор конкатенації (..) дуже корисний, коли ви хочете об'єднати рядки. Оператор довжини (#)каже нам, скільки символів міститься в рядку.

Приоритетність операторів у Lua

Як і в математиці, Lua має порядок виконання операцій. Ось пріоритетність від найвищого до найнижчого:

  1. ^
  2. not # - (унарний)
    • /
  3. ..
  4. < > <= >= ~= ==
  5. and
  6. or

Це означає, що в виразі 2 + 3 * 4, Lua спочатку виконує множення (3 * 4 = 12), а потім додавання (2 + 12 = 14).

Якщо ви хочете змінити порядок, ви можете використовувати дужки. Наприклад:

print(2 + 3 * 4)     -- Вивід: 14
print((2 + 3) * 4)   -- Вивід: 20

У другому рядку, дужки наказують Lua спочатку виконати додавання, а потім помножити результат на 4.

І ось ви вже зробили перші кроки у світі операторів Lua. Пам'ятайте, що практика робить完美. Спробуйте комбінувати ці оператори по-різному та подивіться, що виходить. Не бійтеся робити помилки – це як ми вчимося!

Зі своїх років навчання я знайшов, що найкращі програмісти – це ті, хто не боїться експериментувати. Тож вперед, грайтеся з цими операторами та подивіться, що ви зможете створити. Хто знає? Можливо, ви станете наступним великим програмістом Lua!

Credits: Image by storyset