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