Оператор — это символ, который говорит переводчику выполнять определенные математические или логические манипуляции. Язык Lua богат встроенными операторами и предоставляет операторы следующего типа:
- Арифметические Операторы
- Операторы отношений
- Логические Операторы
- Разные Операторы
Этот урок объяснит один за другим арифметические, реляционные, логические и другие разные операторы.
Арифметические Операторы
Следующая таблица показывает все арифметические операторы, поддерживаемые языком Lua. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
оператор | Описание | пример |
---|---|---|
+ | Добавляет два операнда | А + Б даст 30 |
— | Вычитает второй операнд из первого | A — B даст -10 |
* | Умножьте оба операнда | А * Б даст 200 |
/ | Разделите числитель на числитель | Б / у даст 2 |
% | Оператор модуля и остаток от целочисленного деления | B% A даст 0 |
^ | Экспонент Оператор принимает экспоненты | А ^ 2 даст 100 |
— | Унарный — оператор действует как отрицание | -А даст -10 |
Операторы отношений
Следующая таблица показывает все реляционные операторы, поддерживаемые языком Lua. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
оператор | Описание | пример |
---|---|---|
== | Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным. | (A == B) не соответствует действительности. |
~ = | Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. | (A ~ = B) верно. |
> | Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. | (A> B) не соответствует действительности. |
< | Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. | (A <B) верно. |
> = | Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. | (A> = B) не соответствует действительности. |
<= | Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. | (A <= B) верно. |
Логические Операторы
В следующей таблице приведены все логические операторы, поддерживаемые языком Lua. Предположим, что переменная A имеет значение true, а переменная B содержит значение false тогда —
оператор | Описание | пример |
---|---|---|
а также | Называется логический оператор И. Если оба операнда отличны от нуля, условие становится истинным. | (А и В) ложно. |
или же | Вызывается логическим оператором ИЛИ. Если любой из двух операндов отличен от нуля, условие становится истинным. | (А или В) это правда. |
не | Вызывается логическим оператором НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. | ! (А и Б) это правда. |
Разные Операторы
Различные операторы, поддерживаемые Lua Language, включают конкатенацию и длину .
оператор | Описание | пример |
---|---|---|
.. | Объединяет две строки. | a..b, где a — «Hello», а b — «World», вернет «Hello World». |
# | Унарный оператор, который возвращает длину строки или таблицы. | # «Привет» вернется 5 |
Приоритет операторов в Lua
Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения —
Например, х = 7 + 3 * 2; Здесь x назначено 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем прибавляется к 7.
Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.