Напишите функцию rindex l e : 'a list -> 'a -> int
, которая принимает список и отдельный элемент и возвращает позицию последнего вхождения этого элемента в списке (индексируется нулем). Вы должны вернуть -1, если элемента нет в списке.
Это моя попытка, но я получаю ошибку «This expression has type int -> int but is here used with type int
». Что за дело?
let rec finderd l e n r=
match l with [] -> r
|(h::t) -> if h=e then (finderd t e (n+1) n) else (finderd t e (n+1) r);;
let rindex l e =(finderd l e 0 -1);;