Lua - Оператори
Привіт, юні програмісти! Сьогодні ми вирушаємо на захоплюючу подорож у світ операторів Lua. Не хвилюйтесь, якщо ви ніколи раніше не писали код – я буду вашим доброзичливим guide, і ми будемо досліджувати цю тему крок за кроком. До кінця цього уроку ви будете маніпулювати даними як профі!
Арифметичні оператори
Почнемо з чогось знайомого: математики! 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 має порядок виконання операцій. Ось пріоритетність від найвищого до найнижчого:
- ^
- not # - (унарний)
-
- /
-
-
- ..
- < > <= >= ~= ==
- and
- 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