DelVarLocal
DelVarLocal — полностью удаляет локальную переменную из текущего контекста выполнения.
📝 Назначение
Используется для:
- Освобождения памяти в длинных триггерах (сотни реакций)
- Предотвращения путаницы при повторном использовании имени переменной
- Явного сброса значения перед переиспользованием переменной
💡 Совет: Локальные переменные автоматически удаляются после завершения триггера. Явное удаление требуется редко — только в специфических сценариях, описанных выше. В большинстве случаев можно не использовать
DelVarLocal.
🔴 Важно: Операция необратима. Восстановить удалённую переменную можно только повторным созданием через
SetVarLocalилиAddVarLocal.
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| Название | Строка | ✅ Да | Имя локальной переменной для удаления (латиница, без пробелов) |
🧪 Примеры использования
Пример 1: Очистка перед переиспользованием имени
Задача: В одном триггере нужно использовать одну и ту же переменную для разных целей на разных этапах.
Реакции в триггере:
SetVarLocal→ название:data, значение:"временные данные"- (Какие-то действия с
data) DelVarLocal→ название:dataSetVarLocal→ название:data, значение:{"new": "структура"}
Результат: Старое значение удалено, новое создано с чистого листа.
Пример 2: Освобождение памяти в длинном цикле
Задача: В триггере с большим количеством итераций (через TriggerFolder) накапливаются временные данные.
Реакции внутри итерации:
- (Обработка элемента)
DelVarLocal→ название:temp_item- (Переход к следующей итерации)
💡 Примечание: В реальности локальные переменные в циклах автоматически перезаписываются. Явное удаление требуется крайне редко.
Пример 3: Сброс флага после использования
Задача: Отметить, что определённое действие уже выполнено, чтобы не выполнять его повторно.
Реакции в триггере:
SetVarLocal→ название:action_done, значение:true- (Выполнение действия)
DelVarLocal→ название:action_done
Результат: При повторном входе в этот участок кода переменной не будет, и действие выполнится снова.
⚠️ Важное предупреждение о контексте
Если значение переменной было прочитано (использовано в ${localVar...}) до удаления, оно останется в том месте, где было подставлено, даже после вызова DelVarLocal.
Пример проблемы:
1. SetVarLocal → название: message, значение: "Привет"
2. SendMessage → текст: ${localVar.message} # Подставится "Привет"
3. DelVarLocal → название: message
4. SendMessage → текст: ${localVar.message} # Будет пусто (переменной нет)
Результат: Первое сообщение получит "Привет", второе — ничего.
Как избежать: Удаляйте переменную до её использования, если нужно гарантировать отсутствие значения.
🔍 Проверка существования переменной перед удалением
Перед удалением можно проверить, существует ли переменная. Однако DelVarLocal безопасно вызывать даже для несуществующих переменных — она ничего не делает и не вызывает ошибку.
Способ проверки (если нужна):
TriggerFolderс условием:Has→${localVar.target_var}- Внутри папки:
DelVarLocal→ название:target_var
💡 Совет: Явная проверка не обязательна.
DelVarLocalбезопасно вызывать в любом случае.
🔄 Сравнение с DelVarCloud
| Характеристика | DelVarLocal | DelVarCloud |
|---|---|---|
| Время жизни переменной | До конца триггера | Постоянно (до удаления) |
| Автоудаление | ✅ Да (в конце триггера) | ❌ Нет (только вручную) |
| Когда нужно вызывать | Редко (в особых случаях) | При необходимости очистки данных |
| Требует загрузки | Нет | Да (GetVarCloud) |
💡 Совет: Для облачных переменных
DelVarCloudнужен, чтобы очистить данные. Для локальных — чаще всего не нужен, так как они удаляются автоматически.
🔗 Связанные реакции
| Реакция | Назначение |
|---|---|
| SetVarLocal | Создать локальную переменную |
| AddVarLocal | Изменить локальную переменную |
| DelVarCloud | Удалить облачную переменную |
🔗 Связанные разделы
| Раздел | Описание |
|---|---|
| Локальные переменные | Общая информация о локальных переменных |
| Облачные переменные | Постоянное хранение данных |
| Условие Has | Проверка существования переменной |
🔗 Быстрая навигация
- Вверх
- Параметры
- Примеры
- Важное предупреждение
- Сравнение с DelVarCloud
- Частые ошибки