Разветвление сценария в зависимости от условий | Слот Transition Rule и под-слот Condition
Назначение и общая информация
@Слот
Transition Rule —
@Слот
, позволяющий делать разветвления сценария в зависимости от условий, указанных в
@Подслот
ах
@condition
.
Создание и настройки комплексного слота Transition Rule (Transition Rule+condition)
Атрибуты слота Transition Rule
Name* — название
@Слот
а, которое будет отображено в
@Дерево сценария
. Максимальная длина значения поля — 40 символов.
Атрибуты подслотов Condition
Nameー название
@Слот
а, которое будет отображено в
@Дерево сценария
. Максимальная длина значения поля — 40 символов. Если название не введено при создании
@Подслот
а, автоматически копируются первые 40 символов текста из поля Condition в поле Name. Если же поле Name очищено при редактировании подслота, то на подслоте в
@Дерево сценария
будут отображаться первые 34 символа из поля Condition.
Condition*ー логическое выражение, которое будет проверено в процессе
@Общение
, и если результат проверки будет ИСТИНА, произойдет переход в ветку, идущую после этого
Результатом вычисления условия будет значение логического типа: True или False. Если результатом вычисления условия является значение какого-то другого типа (строка, число, список, и т.п.), то оно будет приведено к логическому типу.
Создание слота
Автоматическая генерация подслотов при создании Transition Rule
При создании слота Transition Rule автоматически создаются два обязательных
@Подслот
а
@condition
.
Первый из них всегда имеет значение “main”, которое можно изменить на нужное нам условие, используя
Второй, имеющий значение “true” и имя FALLBACK_CONDITION, изменить нельзя. Этот подслот всегда будет оставаться самым нижним в данном комплексном слоте — все новые
@Подслот
ы
@condition
будут автоматически размещены выше него.
Добавление подслотов Condition
Используя кнопку “+” можно создать новый
@Подслот
@condition
.
Новые
@Подслот
ы
@condition
будут располагаться над автоматически созданным
@Подслот
ом
@condition
со значением “true” в порядке их создания.
Удаление подслотов Condition
Чтобы удалить
@Подслот
@condition
, необходимо кликнуть по нему правой кнопкой мыши и нажать кнопку Remove Branch, затем нажать OK во всплывшем диалоговом окне.
Возможно удалить любой
@Подслот
@condition
, кроме
@Подслот
а со значением true, если после удаления у Transition Rule останется не менее двух
@Подслот
ов.
Удаление
@Подслот
а со значением true или единственного, помимо него, невозможно. При попытке это сделать появится следующая ошибка по центру внизу:
Работа слота
При прохождении сценария через
@Слот
Transition Rule, происходит проверка истинности выражений, указанных в
@Подслот
ах
@condition
от верхнего
@Подслот
а к нижнему;
@Общение
немедленно перейдет в ветку первого
@Подслот
а
@condition
, результат выражениякоторого будет ИСТИНА, выражения в нижерасположенных
@Подслот
ах
@condition
не будут проверены. Например, если
@Контекстная переменная
{{ username }} является строкой и имеет значение “Иван”, произойдет переход в ветку
@Подслот
а
@condition
с условием {{ username == 'Иван' }}так как это условие первым будет удовлетворено при проверке.