Разветвление сценария в зависимости от условий | Слот Transition Rule и под-слот Condition

Назначение и общая информация

Слот Transition Rule — Слот, позволяющий делать разветвления сценария в зависимости от условий, указанных в Подслотах condition.

Создание и настройки комплексного слота Transition Rule (Transition Rule+condition)

Атрибуты слота Transition Rule

Name* — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов.

Атрибуты подслотов Condition

  1. Nameー название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. Если название не введено при создании Подслота, автоматически копируются первые 40 символов текста из поля Condition в поле Name. Если же поле Name очищено при редактировании подслота, то на подслоте в Дерево сценария будут отображаться первые 34 символа из поля Condition.

  2. Condition*ー логическое выражение, которое будет проверено в процессе Общение, и если результат проверки будет ИСТИНА, произойдет переход в ветку, идущую после этого Подслота. Выражение задается, используя Синтаксис. В поле Condition доступна прокрутка при большой длине выражения.

Важно: Проверка невозможной операции даст значение False:

1. Невалидная операция, например, выражение 1 < a4

2. Сравнение с несуществующей переменной

3. Сравнение строки операциями >, <, >=, <=

Cимвол \ в Подслоте должен быть экранирован: ему должен предшествовать символ \, в противном случае Агент не обучится. Подробнее: Требования для успешного обучения Агента

Использование синтаксиса в Подслоте Condition (Transition Rule)

В Подслоте 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 или единственного, помимо него, невозможно. При попытке это сделать появится следующая ошибка по центру внизу:

Работа слота

  1. При прохождении сценария через Слот Transition Rule, происходит проверка истинности выражений, указанных в Подслотах condition от верхнего Подслота к нижнему;

  2. Общение немедленно перейдет в ветку первого Подслота condition, результат выражения которого будет ИСТИНА, выражения в нижерасположенных Подслотах condition не будут проверены. Например, если Контекстная переменная {{ username }} является строкой и имеет значение “Иван”, произойдет переход в ветку Подслота condition с условием {{ username == 'Иван' }} так как это условие первым будет удовлетворено при проверке.

Last updated