| Раздел: CronosPRO | Дата редакции: 10.07.2013 | id статьи: 1515 |
Операции, применяемые в Lua
Арифметические операции.
Lua поддерживает следующие арифметические операции:
- + (сложение);
- - (вычитание);
- * (умножение);
- / (деление);
- ^ (возведение в степень);
- % (остаток от деления).
Обратите внимание
- Арифметические операции применимы как к числам, так и к строкам, которые в этом случае преобразуются в числа.
Операции сравнения.
В Lua допустимы следующие операции сравнения величин:
- == (равно);
- ~= (не равно);
- < (меньше);
- > (больше);
- <= (меньше или равно);
- >= (больше или равно).
Обратите внимание
- Операции сравнения всегда возвращают логическое значение true или false.
- Правила преобразования чисел в строки (и наоборот) при сравнениях не работают, т. е. выражение "0" == 0 даёт в результате false.
Логические операции.
К логическим операциям относятся:
and (логическое И).
Операция and возвращает свой первый операнд, если он имеет значение false или nil. В противном случае, операция возвращает второй операнд (причём этот операнд может быть произвольного типа).
a = (nil and 5) -- a равно nil a == (false and 5) -- a равно false a == (4 and 5) -- a равно 5
or (логическое ИЛИ).
Операция or возвращает первый операнд, если он не false и не nil, иначе он возвращает второй операнд.
a == (4 or 5) -- a равно 4 a == (false or 5) -- a равно 5
- Логические операции and и or могут возвращать значения любых типов.
- Логические операции and и or вычисляют значение второго операнда только в том случае, если его нужно вернуть.
Если этого не требуется, второй операнд не вычисляется. Например:
a == (4 or f()) -- вызова функции f() не произойдет
not (логическое НЕ).
Операция not всегда возвращает true или false.
Обратите внимание
Операция конкатенации.
Для конкатенации (объединения) строк служит операция .. (две точки).
a = "Кронос".."-".."Информ" -- переменная a получит значение "Кронос-Информ"
Обратите внимание
- Если один или оба операнда являются числами, выполняется их преобразование в строки.
a = 0..1 -- переменная a получит значение "01"
- Если один или оба операнда являются числами, выполняется их преобразование в строки.
Операция получения длины.
В Lua определена операция длины #, которую можно использовать для получения длины строки.
a = "строка" len = #a -- len равно 6 len = #"ещё строка" -- len равно 10
Обратите внимание
- С помощью операции # можно также узнать максимальный индекс (или размер) массива. Подробнее — в статье «Работа с массивами в Lua» (id: 1532).
- ^
- not # - (унарный)
- * / %
- + -
- ..
- < > <= >= ~= ==
- and
- or
