Меню
Контакты
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
109147, Москва, ул.Воронцовская, 35Б, корп.2 офис.11, 4 этаж
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Работа с массивами в MikroTik RouterOS

 05 Фев 2012    MikroTik, Практика и программирование MikroTik

В этой статье мы рассмотрим действия, которые можно выполнять над массивами в Mikrotik Router OS. Это: создание массива, проверка на вхождение в массив, добавление элементов в массив, добавление элементов в цикле.

Создание массива:

:local list [:toarray "user1, user2, user3"]; :put $list;

 

Mikrotik Router OS. Создание массива

Рис.1. Mikrotik Router OS. Создание массива.

 

Массив создаётся как простая переменная. Он может быть как локальным, так и глобальным. Затем в квадратных скобках объявляется toarray и через запятую перечисляются элементы массива.

Проверка на вхождение в массив.

 

Работа с массивами в MikroTik RouterOS

Рис.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 - нет.

Добавление элемента в массив.

 

Mikrotik Router OS, добавление элементов в массив.

Рис.3. Mikrotik Router OS, добавление элементов в массив.

 

:local li [:toarray ""]; :put $li; set li [:put ($li, "NEW_ELEMENT")]; :put $li;

Добавление элементов в массив осуществляется следующим способом:

Создаём пустой массив :local li [:toarray ""];

При помощи действия set присваиваем значение массиву. В квадратные скобки подставляем существующий массив li и через запятую указываем новый элемент.

 

Mikrotik Router OS, добавление элементов в цикле.

Рис.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.