Спросить ИИ
Русский RU
Перейти в Watbot

Операция над переменной

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

Панель настроек блока «Операция над переменной»Панель настроек блока «Операция над переменной»

Настройки

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

Для типа «Массовое присвоение» этих трёх полей нет — вместо них список «Переменные для присвоения».

Произвольное значение

В поле «Значение/Выражение» напишите текст или число. Здесь работают автоподстановки, в том числе выражения, — так можно собрать значение из других переменных и данных контакта.

Блок «Операция над переменной»: в переменную записывается сумма заказаБлок «Операция над переменной»: в переменную записывается сумма заказа

Математическое выражение

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

  • «Исходное значение переменной» — если до этого блока переменной ещё не было, расчёт начнётся с этого числа.
Блок «Операция над переменной»: скидка 10 % к сумме заказа выражением x * 0.9Блок «Операция над переменной»: скидка 10 % к сумме заказа выражением x * 0.9

Математическое выражение 2.0

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

Если какой-то из переменных ещё нет, вместо неё подставится 0.

Блок «Операция над переменной»: скидка считается из суммы заказа и процента скидкиБлок «Операция над переменной»: скидка считается из суммы заказа и процента скидки

Что можно писать в математическом выражении

  • Числа, знаки +, -, *, / и скобки.
  • Дробные числа — через точку: 1.24.
  • Округление вверх до целого: оберните всё выражение в ceil( ), например ceil(x / 3).

Автоподстановки {{ }} в математических выражениях не работают — используйте короткие имена переменных. Всё, кроме чисел, знаков и коротких имён, бот из выражения убирает.

Массовое присвоение

В списке «Переменные для присвоения» нажмите «Локальная переменная» или «Глобальная переменная», укажите имя переменной и её значение. Строк можно добавить несколько — блок запишет все значения разом. В значениях работают автоподстановки, но только с простыми функциями.

Блок «Операция над переменной»: четыре переменные заказа заполняются разомБлок «Операция над переменной»: четыре переменные заказа заполняются разом

Выходы

  • «Продолжить» — бот идёт дальше сразу после записи.

Особенности

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