Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Переменные

Для хранения данных в сценарии бота сценариях ботов применяются переменные. Переменная представляет собой именованный участок памяти бота. Она создаётся при первом её использовании в каком-либо блоке операций.

Существуют три вида переменных, различающихся своей областью видимости:

  • Переменные видимые в пределах одного модуля в одном потоке. Доступны для чтения и записи. Названия таких переменных наяинаются с $. Такие переменные удобно использовать для хранения промежуточных операций и вычислений.
  • Переменные видимые в пределах одного модуля в разных потоках. Доступны для чтения и записи. Названия переменных уровня модуля начинаются с #. Поскольку такие переменные видны во всех потоках бота их удобно использовать для взаимодействия между потоками. 
  • Глобальные переменные или переменные окружения. Автоматически задаваемые переменные, которые видны во всех потоках всех модулей бота. Эти переменные доступны только для чтения и хранят информацию о глобальном контексте работы бота. Их имена начинаются  с символа @

Примеры записей переменных разных видов:

Блок кода
languagetext
// Переменные $p и $r доступны только в потоке в котором они определены
$p = 2 * 3.14 * $r

// Эта переменная доступна во всех потоках в пределах текущего модуля
// (модуля в котором находится блок операций в котором определена переменная).
#count = queue.size()

// @communicationType глобальная переменная только для чтения. Доступна отовсюду.
$isChat = @communicationType == "TEXT"