Перейти к содержанию

Справочник операторов

Арифметика

Оп Смысл Типы → результат Пример
+ Сложение или конкатенация number+number→number, иначе текст через Values.add 2 + 3 → 5; "n:" + 5 → "n: 5"
- Вычитание числа (toNumber при динамике) 10 - 4 → 6
* Умножение числа 3 * 2.5 → 7.5
/ Деление числа; деление на 0 — ошибка division by zero 7 / 2 → 3.5
% Остаток числа; mod 0 — division by zero in modulo 7 % 3 → 1
<<<, >>> Явная конкатенация всегда текст "a" <<< "b" → "ab"

2 + 3 * 4 → 14 (приоритет обычный). Смешанное ANY: a + b + "x" остаётся текстом, потому что + с неизвестным операндом даёт kind ANY.

Сравнения (все возвращают boolean)

Оп Смысл Замечание
==, is Равенство (looseEquals) is — полный синоним, включая is null
!= Неравенство !looseEquals
<, >, <=, >= Порядок Числа — численно, остальное — как текст
contains Вхождение Список: есть ли элемент; мапа: есть ли ключ; текст: подстрока; null → false

looseEquals: оба null → true; null vs значение → false; два числа — по значению; есть строка — сравнение текстов.

if victim is null:
    stop
if box contains "sword":
    message "Armed!"
if #coins >= 60:
    message "Rich."

Логика

and / &&, or / || — с коротким замыканием. !x / not x — отрицание (операнд приводится через toBool).

if n > 0 and n < 10:
    message "Single digit."
if vip or has-permission(me, "shop.vip"):
    message "Welcome!"

Унарные и инкремент

-x (минус числа), ++x / --x / x++ / x-- (±1, префикс возвращает новое, постфикс — старое). Работают с локалами, $, # и индексами.

Постфикс и вызовы

.prop — свойство (игрок) или size списка; [k] — индекс (список/мапа/строка); f(a, b) — вызов своей функции или builtin'а.

Присваивания

= += -= *= /= %= — см. Операторы и выражения.