Skip to main content

Переменные в DL

В рамках синтаксиса DL вы можете использовать системные, временные и пользовательские переменные (переменные контекста) DialogOS для более гибкого составления ответной части ассистента.

Переменные используются для сохранения информации об ассистенте, о его собеседнике-пользователе, о результатах обращения в сервисы и т.п.

Имя переменной – это последовательность символов, в которую могут входить латинские буквы, кириллические буквы, цифры, нижнее подчеркивание, дефис, точка.

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

В DialogOS существует 3 типа переменных, которые вы можете использовать в синтаксисе языка DL:

  • Системные переменные
  • Временные переменные
  • Пользовательские переменные (Переменные контекста)

Типы переменных

ПеременныеПример переменнойСпособ объявления
Системные переменныеrsp.state.scoreТолько ядром (Диалоговым процессором);
зарезервированные переменные.
Временные переменныеtmp.a
_a_
В блоке [js]..[/js];
В ответе ДУ;
В вызове функции;
В вызове общей функции.
Пользовательские переменные
(Переменные контекста)
var1Без объявления, путем обработки входящих в DialogOS переменных в диалоге;
Путем создания переменной ассистента.
Важно!

Если вы хотите указать пользовательскую переменную которой нет в разделе «Переменные», нужно обязательно добавлять название переменной в список переменных в разделе «Переменные».

Действия с переменными

Можно выделить 3 вида использования переменных:

  • Присвоение значения переменной
  • Вывод(подстановка) значения переменной
  • Проверка значения переменной

Присвоение значений переменной

ПеременныеПример переменнойДо формирования ответаВо время формирования ответаПосле формирования ответа
Системные переменныеrsp.state.score
Временные переменныеtmp.a
_a_
Пользовательские переменные
(Переменные контекста)
var1
(Исключиение - в случае, когда переменная приходит в DialogOS на вход с новым значением)

(Исключиение - в случае, присвоения переменной значения текстовой функцией SetValue [@set()] языка DL)

Вывод(подстановка) значения переменной

ПеременныеПример переменнойВо время формирования ответа
Системные переменныеrsp.state.score
Временные переменныеtmp.a
_a_
Пользовательские переменные
(Переменные контекста)
var1

Использование переменных

В таблице ниже приведены элементы ассистента, а так же секции этих элементов, где можно использовать переменные в DL:

ЭлементСекции
Диалоговый узелОтветы
Глобальные ответыОтветы
ТегиОтветы