Страница 1 из 1
Создание глобальных функций?
Добавлено: 10 май 2020, 17:55
pepelxl
Наткнулся на препятствие в своей писанине скрипта, не могу понять как перепрыгнуть.
Видимо, скрипт разросся до максимальных допустимых размеров(много комментариев которые не удастся выкинуть). В скрипте используется несколько объёмных функций, соответственно встаёт вопрос - как можно их выкинуть в отдельные скрипты и вызывать по требованию, что-бы они возвращали то что должны обратно в вызывающий скрипт.
Re: Создание глобальных функций?
Добавлено: 10 май 2020, 18:29
vbsev
Не скриптописатель, но в википедии по адресу
https://wiki.mikrotik.com/wiki/Manual:S ... repository написано:
Script repository
Sub-menu level: /system script
Contains all user created scripts. Scripts can be executed in several different ways:
* on event - scripts are executed automatically on some facility events ( scheduler, netwatch, VRRP)
* by another script - running script within script is allowed
* manually - from console executing run command or in winbox
Т.е. можно вызывать скрипт из другого скрипта. Попробуйте функции в другой файлик положить и дергать скрипты
А вот тут:
viewtopic.php?t=5674
уже показывали как вызывать скрипты из другого скрипта.
Re: Создание глобальных функций?
Добавлено: 10 май 2020, 19:29
podarok66
Да вот
viewtopic.php?f=14&t=8006 читайте. Там вроде как всё почти на пальцах ...
Re: Создание глобальных функций?
Добавлено: 10 май 2020, 20:28
pepelxl
спасибо, перечитал в очередной раз тот пост, наткнулся на две ошибки у себя, невнимательность.
Первая - при объявлении в основном скрипте писал :global $var; вместо :global var;
вторая - в вызывающем скрипте нужны права write, хотя оба скрипта не меняют конфиг оборудования, а только производят подсчёты и отправляют в лог.