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.
Здесь операторы с наивысшим приоритетом отображаются вверху таблицы, а операторы с самым низким - внизу. Внутри выражения в первую очередь будут оцениваться операторы с более высоким приоритетом.
Показать примеры
| Категория | Оператор | Ассоциативность | 
|---|---|---|
| Унарный | не # - | Справа налево | 
| Конкатенация | .. | Справа налево | 
| Мультипликативный | * /% | Слева направо | 
| Добавка | + - | Слева направо | 
| Реляционный | <> <=> = == ~ = | Слева направо | 
| Равенство | == ~ = | Слева направо | 
| Логическое И | и | Слева направо | 
| Логическое ИЛИ | или же | Слева направо |