Я хотел бы получить последний индекс элемента в списке, соответствующем предикату. Я знаю, что я могу использовать следующий код для массива, но мне интересно, если есть способ сделать это для списка (без преобразования в массив и используя следующую функцию):Как найти индекс последнего элемента в списке, совпадающем с предикатом?
let tryFindLastIndex f (arr: 'a []) =
let rec loop n (arr: 'a []) =
match n with
| -1 -> None
| n ->
if f arr.[n] then Some n
else loop (n-1) arr
loop (arr.Length - 1) arr
Код будет очень похожим, но с совпадением рисунков на лисе t, а не индексировать его. Вы пробовали что-нибудь в этом направлении? С какими проблемами вы сталкиваетесь? –
(Извините, я не понимал, что вы повторяете массив _backwards_. Это делает его более интересным!) –