

В цикле for собирается команда из массива. В результате получается лишняя запятая в конце строки. Она убирается после цикла
Код: Выделить всё
:set cmdItems [:pick $cmdItems 0 ([:len $cmdItems] - 1)]
Код: Выделить всё
:set cmdItems [:pick $cmdItems 0 ([:len $cmdItems] - 1)]
Эта статья как раз и задумывалась для того, чтобы показать на сколько RouterOS недооценена. Ведь это в первую очередь OS, т.е. операционная система. А раз это OS, то под неё можно писать код. И это не обязательно должен быть код, который управляет самим устройством.Sertik писал(а): ↑29 авг 2022, 15:04 Прочитал статью. Она адресована друзьям (но прочитать могут и "враги"...) Хорошо, но на мой взгляд слишком обобщающе, мало интересных подробностей. Хотелось бы просить автора немного "развернуть" описание отдельных модулей и подпрограмм ... (Хотя может быть он этого не хочет, т.к. продукт вполне может стать коммерческим). Отдельное спасибо автору за то, что он поддержал давно высказываемую мною (в частности) мысль - возможности микротик шире обычного роутера. За это меня много ругали, говоря о том, что роутер должен быть только роутером ... Очень интересна идея использовать РоутерОС как среду программирования, среду управления процессами, например на виртуальном роутере с большой библиотекой скриптов. Или, например, можно использовать виртуальный роутер как библиотеку скриптов и функций... (в которую будут "ходить" другие роутеры по мере надобности).
Искренне желаю автору удачи и новых проектов ! Не бросайте начатого и очень рад "читать Вас" на форуме.
Код: Выделить всё
:global arraydata [:toarray ""]
:set arraydata ({{"0"={"callbackquery"={"id"=0;"from"={"username"="name";"id"=0};"message"={"chat"={"id"=0}}}}}})
Код: Выделить всё
:execute script=":put \":global newArray [:toarray \\\"\\\"]\r\n:set (\\\$newArray) ({\"; [:environment print]; :put \"})\"" file=newarray.txt
Код: Выделить всё
:put [:timestamp]
2735w21:41:43.481891543
Код: Выделить всё
:retry command={abc} delay=1 max=2 on-error={:put "got error"}
got error
Код: Выделить всё
:put [:rndnum from=1 to=99];
Код: Выделить всё
:put [:rndnum from="abcdef%^&" length=33];