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

Ключ

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

...

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

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

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

...

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

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

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

Имена переменных могут содержать только цифры, английские и русские буквы, а также символ подчёркивания. Т.е. вы не можете назвать переменную каким-то словом содержащим пробел или символ отличный от русского и нглийского языков. Тем не менее существует способ задать любое название. Для этого необходимо заключить название переменной в круглые скобки:

Блок кода
languagetext
$('日本') = 123         // Создали переменную c именем 日本
$x = $('日本')          // $y теперь равна 123
$(math.rand(1, 2)) = 0 // Динамически создаём переменную с именем 1 или 2 и присваеваем ей значение 0

Переменные переменных

Язык выражений бота позоляет динамически вычислять имя переменной в процессе работы бота. Это в частности означает что значением одной переменной может быть имя другой переменной. Или, в более общем случае, именем переменной может быть любое выражение, значением которого является строка.

...