Операция над переменной
Записывает в переменную значение, которое вы задали сами, или результат вычисления. Блок подходит для счётчиков, баллов в тестах и викторинах, расчёта суммы.


Настройки
- «Тип операции» — что именно делает блок:
- «Произвольное значение» — записать в переменную указанное значение;
- «Математическое выражение» — изменить одну переменную: прибавить, вычесть, умножить, разделить;
- «Математическое выражение 2.0» — посчитать выражение из нескольких переменных;
- «Массовое присвоение» — записать значения сразу в несколько переменных.
- «Значение/Выражение» — что записать или что посчитать. Как заполнять поле для каждого типа — ниже.
- «Имя результирующей переменной» — в какую переменную попадёт результат.
- «Тип результирующей переменной» — «Локальная переменная» (своя у каждого контакта) или «Глобальная переменная» (общая для всего бота).
Для типа «Массовое присвоение» этих трёх полей нет — вместо них список «Переменные для присвоения».
Произвольное значение
В поле «Значение/Выражение» напишите текст или число. Здесь работают автоподстановки, в том числе выражения, — так можно собрать значение из других переменных и данных контакта.


Математическое выражение
Считает новое значение переменной из её текущего значения. В выражении переменная всегда пишется как x — какое бы имя вы ни указали в поле «Имя результирующей переменной». Например, x + 1 увеличит переменную на единицу.
- «Исходное значение переменной» — если до этого блока переменной ещё не было, расчёт начнётся с этого числа.


Математическое выражение 2.0
В выражении можно использовать несколько переменных. В списке «Переменные для выражения» нажмите «Локальная переменная» или «Глобальная переменная» и укажите имя переменной. Каждая получит короткое имя: первая — x, вторая — y, третья — z и так далее. Эти короткие имена и пишутся в выражении, например (x + y) * 10.
Если какой-то из переменных ещё нет, вместо неё подставится 0.


Что можно писать в математическом выражении
- Числа, знаки
+,-,*,/и скобки. - Дробные числа — через точку:
1.24. - Округление вверх до целого: оберните всё выражение в
ceil( ), напримерceil(x / 3).
Автоподстановки {{ }} в математических выражениях не работают — используйте короткие имена переменных. Всё, кроме чисел, знаков и коротких имён, бот из выражения убирает.
Массовое присвоение
В списке «Переменные для присвоения» нажмите «Локальная переменная» или «Глобальная переменная», укажите имя переменной и её значение. Строк можно добавить несколько — блок запишет все значения разом. В значениях работают автоподстановки, но только с простыми функциями.


Выходы
- «Продолжить» — бот идёт дальше сразу после записи.
Особенности
- Если переменной с таким именем ещё нет, блок её создаст.
- Результат записывается как текст. Вставить его в сообщение можно так же, как любую другую переменную.
- Если в математическом выражении ошибка — например, деление на ноль или в переменной вместо числа лежит текст, — в переменную запишется сообщение об ошибке. Проверьте выражение в предпросмотре бота.