В этой статье мы рассмотрим действия, которые можно выполнять над массивами в Mikrotik Router OS. Это: создание массива, проверка на вхождение в массив, добавление элементов в массив, добавление элементов в цикле.
Создание массива:
:local list [:toarray "user1, user2, user3"]; :put $list;
Рис.1. Mikrotik Router OS. Создание массива.
Массив создаётся как простая переменная. Он может быть как локальным, так и глобальным. Затем в квадратных скобках объявляется toarray и через запятую перечисляются элементы массива.
Проверка на вхождение в массив.
Рис.2. Проверка на вхождение в массив.
:local name "user1"; :local list [:toarray "user1, user2, user3"]; :foreach i in=$list do={if ($i=$name) do={:put "YES";} else={:put "NO";}};
В Mikrotik Router OS можно выполнить проверку вхождения значения в массив. Есть массив list со значениями элементов user1, user2 и user3. Выполним поиск в массиве следующих значений (user1, user3, user4), используя цикл foreach. На рисунке 2 видно, что значения user1 и user3 входят в массив, а user4 - нет.
Добавление элемента в массив.
Рис.3. Mikrotik Router OS, добавление элементов в массив.
:local li [:toarray ""]; :put $li; set li [:put ($li, "NEW_ELEMENT")]; :put $li;
Добавление элементов в массив осуществляется следующим способом:
Создаём пустой массив :local li [:toarray ""];
При помощи действия set присваиваем значение массиву. В квадратные скобки подставляем существующий массив li и через запятую указываем новый элемент.
Рис.4. Mikrotik Router OS, добавление элементов в цикле.
Добавление элементов в цикле. Когда необходимо добавить множество элементов в массив, то для этого можно применять циклы.
:local li [:toarray ""]; :put $li; for n from=1 to=20 do={set li [:put ($li, $n)];}; :put ""; :put ""; :put ""; :put $li;
Евгений Рудченко специально для ASP24.