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