Страница 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, хотя оба скрипта не меняют конфиг оборудования, а только производят подсчёты и отправляют в лог.