Оператор — это символ, который говорит переводчику выполнять определенные математические или логические манипуляции. Язык 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.
Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.