Значение переменной вывести в название другой переменной.

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Можно обойтись без перебора. Имя глобальной переменной, которое мы передаем в блок execute: у нас хранится в локальной переменной. Просто находим по имени и пользуемся.

Только сама идея, использовать execute: для записи значения в глобальную переменную и тут же из скрипта читать из нее, не очень хороша.

Execute выполняется асинхронно в отдельном процессе. После его запуска основной код продолжит выполняться и когда он дойдет до того места, где из глобальной переменной надо читать, там может ничего не быть, потому что процесс execute: еще не завершился или даже не запускался. Помним, проходили...

Тут наверное лучше parse: Оттуда и результат вернуть можно и основной код будет ждать выполнения этого блока.


Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Дорогой, Brook !
Рад Вашему появлению на форуме ! Видимо появилось чуть-чуть времени ...

Поясните Вашу мысль рабочим примером. Вы же можете, я это точно знаю. :a_g_a:


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
load
Сообщения: 1
Зарегистрирован: 30 мар 2024, 07:20

скрипт сбрасывает конкшены при появлении интернет нужно если у вас телефония


:global internetStatus;
:global previousInternetStatus
:global internetCheckAddress;

:set value="8.8.8.8" name=$internetCheckAddress;
:set $ui "offline"
:if ([/ping $internetCheckAddress count=1] = 0) do={
:set $internetStatus "offline"
:set $ui "offline"
} else={
:set $internetStatus "online";
:set $uiu "online"
}
if ( $uiu != $previousInternetStatus ) do={
:log info "Clearing connections ";
/ip firewall connection remove [find];
}
:set previousInternetStatus $internetStatus;


Ответить