...
Блок кода | ||
---|---|---|
| ||
$x = 1 + 2 // $x содержит 3 $x = nil // $x содержит nil |
Операции
В языке выражений бота определенно несколько классов операций. Класс операции определяется её первым аргументом. Например, если первый аргумент операции "+" строка, то будет произведена конкатенация строк. Если же это число, то будет осуществляться сложение чисел.
Приоритеты операций
Чем приоритет выше, тем раньше выполнится операция. Стандартным способом увеличения приоритета являются круглые скобки.
Операция | Приоритет | Ассоциативность | Описание |
---|---|---|---|
** | 12 | правая | Возведение в степень |
+ | 11 | - | Унарный плюс |
- | 11 | - | Унарный минус |
~ | 11 | - | Бинарная инверсия |
! | 10 | - | Логическое отрицание |
* | 9 | левая | Умножение |
/ | 9 | левая | Деление |
\ | 9 | левая | Целочисленное деление |
% | 9 | левая | Остаток от деления |
+ | 8 | левая | Сложение, конкатенация, объединение |
- | 8 | левая | Вычитание |
< | 7 | - | Меньше чем |
<= | 7 | - | Меньше или равно |
> | 7 | - | Больше чем |
>= | 7 | - | Больше или равно |
== | 6 | - | Равно |
!= | 6 | - | Не равно |
& | 5 | левая | Бинарное И |
^ | 4 | левая | Бинарное исключающее ИЛИ |
| | 3 | левая | Бинарное ИЛИ |
&& | 2 | левая | Логическое И |
|| | 1 | левая | Логическое ИЛИ |
= | 0 | правая | Присваивание |
+= | 0 | правая | Сложение с присваиванием |
-= | 0 | правая | Разность с присваиванием |
*= | 0 | правая | Умножение с присваиванием |
/= | 0 | правая | Деление с присваиванием |
\= | 0 | правая | Целочисленное деление с присваиванием |
%= | 0 | правая | Остаток от деления с присваиванием |
**= | 0 | правая | Возведение в степень с присваиванием |
&= | 0 | правая | Бинарное И с присваиванием |
^= | 0 | правая | Бинарное исключающее И с присваиванием |
|= | 0 | правая | Бинарное ИЛИ с присваиванием |
Арифметические операции
Арифметические операции предназначены для работы с числами. Если значение участвующее в арифметической операции не является числом, произойдёт попытка его преобразования в число (см. ниже).