вывести номер искомого элемента массива

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Эм

Код: Выделить всё

:local list [:toarray "mama, papa, brat, sestra, brat"]
:local tmp
:set ($list -> 2) [:nothing ]
:foreach i in $list do={:if ([:len $i] > 0) do={:set $tmp ($tmp . $i . ",")}}
:set list [:toarray $tmp]


Удаляет нужный Вам элемент


Есть интересная задача и бюджет? http://mikrotik.site
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Sertik писал(а):И еще вопрос - откуда Вы это знаете ? (если не секрет, конечно). Существуют ли фирменные руководства по скриптовому языку Микротик, кроме Вики ?
Можете посоветовать источник ?


Все из Вики и куча разнообразных заказанных проектов. Причем мне всегда нравятся проекты где что то такое делать нужно.


Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Достаточно часто использую при возне со скриптами таблицу из статьи на Хабре


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Спасибо !


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
bober
Сообщения: 3
Зарегистрирован: 22 окт 2018, 09:17

Sertik писал(а): 15 янв 2018, 14:41 Приветствую всех !
Элементарная задача - не знаю как решить:

Есть, например, массив данных:
:local list [:toarray "mama, papa, brat, sestra"];

Проверить элемент на вхождение в массив можно так:

:local Type "brat";
:foreach i in=$list do={ :if ($i=$Type) do={:log info "yes" } else={:log info "no";} }

А как получить порядковый номер этого элемента в массиве ?
Почитал 2 страницы вариантов..........ну и решений
практически ничего не меняя в ваших строках, делаем

Код: Выделить всё

foreach k,i in=$list do={ :if ($i=$Type) do={:log info "yes. INarr $k"; :local n $k } else={:log info "no";}   }
В переменной $n - порядковый номер этого элемента.

далее скрипт, как выше писали


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Порядковый номер ищется куда более проще собственно как и вхождение

:local n [:find $list $Type]


Есть интересная задача и бюджет? http://mikrotik.site
Ответить