Страница 2 из 2

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

Добавлено: 23 янв 2018, 17:00
vqd
Эм

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

: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]


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

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

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


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

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

Добавлено: 23 янв 2018, 19:00
podarok66
Достаточно часто использую при возне со скриптами таблицу из статьи на Хабре

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

Добавлено: 24 янв 2018, 23:18
Sertik
Спасибо !

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

Добавлено: 22 окт 2018, 20:44
bober
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 - порядковый номер этого элемента.

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

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

Добавлено: 23 окт 2018, 03:45
vqd
Порядковый номер ищется куда более проще собственно как и вхождение

:local n [:find $list $Type]