Lua - Операторы
Здравствуйте, начинающие программисты! Сегодня мы отправимся в увлекательное путешествие в мир операторов Lua. Не волнуйтесь, если вы никогда раньше не программировали – я буду вашим доброжелательным проводником, и мы шаг за шагом изучим эту тему. К концу урока вы будете manipulate данные, как профессионaл!
Арифметические операторы
Давайте начнем с чего-то знакомого: математики! Lua предоставляет нам арифметические операторы, которые работают так же, как и те, что вы использовали на уроках математики.
Основные арифметические операторы
Вот таблица основных арифметических операторов в Lua:
Оператор | Описание | Пример |
---|---|---|
+ | Сложение | 5 + 3 = 8 |
- | Вычитание | 10 - 4 = 6 |
* | Умножение | 3 * 4 = 12 |
/ | Деление | 20 / 5 = 4 |
% | Остаток от деления | 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, но помогает нам понять код.
Оператор остатка от деления
Оператор остатка от деления (%
) может быть новым для некоторых из вас. Он дает остаток после деления. Представьте его как вопрос: "Если я разделю эти числа, что останется?" Например, когда мы делим 17 на 5, мы получаем 3 с остатком 2. Вот почему 17 % 5
равен 2.
Реляционные операторы
Теперь перейдем к реляционным операторам. Эти операторы используются для сравнения значений и всегда дают результат true
или false
.
Оператор | Описание | Пример |
---|---|---|
== | Равно | 5 == 5 истина |
~= | Не равно | 5 ~= 4 истина |
> | Больше чем | 7 > 3 истина |
< | Меньше чем | 2 < 8 истина |
>= | Больше или равно | 5 >= 5 истина |
<= | Меньше или равно | 4 <= 4 истина |
Давайтеtry эти:
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 мы используем ~=
для "не равно", что differs от некоторых других языков программирования, которые используют !=
.
Логические операторы
Логические операторы используются для combine условных предложений. Они похожи на "и", "или" и "нет" в повседневном языке.
Оператор | Описание |
---|---|
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
Оператор конкатенации (..
) super полезен, когда вы хотите combine строки. Оператор длины (#
) говорит вам, сколько символов в строке.
Приоритетность операторов в 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
Во второй строке, скобки tell Lua выполнять сложение сначала, а затем умножать результат на 4.
И вот оно! Вы только что сделали первые шаги в мир операторов Lua. Помните, практика makes perfect. Попробуйте combine эти операторы по-разному и посмотрите, что произойдет. Не бойтесь犯错 – это как мы учимся!
За годы преподавания я обнаружил, что лучшие программисты – это те, кто не боится экспериментировать. Так что вперед, играйте с этими операторами и смотрите, что вы можете создать. Кто знает? Вы можете стать следующим великолепным программистом Lua!
Credits: Image by storyset