нужна функция, которая получает непустой список и возвращает максимальный элемент в списке и части списка слева и справа от макс. эл-та let rec splitmax seq = match seq with | [] -> [], 1.0e10, [] | t0::[] -> [], t0, [] | t0::sub -> let left, t1, right = splitmax(sub) in if t1 > t0 then (t0::left, t1, right) else ([], t0, sub) ;; такой вариант работатет; но если убрать первую строку в match with возникает Matching exception не понимаю почему -- пустой список в качестве аргумента никогда не передаётся. в чём дело?
Ответ на:
комментарий
от yuriy123
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [школота-тред] синтаксис в Ocaml (2011)
- Форум OCaml module system problem (2006)
- Форум OCaml. Непонятки с модулями. (2006)
- Форум [F#] apply (2012)
- Форум Получить список из листьев дерева (scheme) (2006)
- Форум [python] Помогите оптимизировать маленькую прогу, пж. (2009)
- Форум LORScriptPack - UserScript, делающий ЛОР удобным (2024)
- Форум [ocaml] ocaml <--> c (2008)
- Форум [haskell][Тормоза] (2012)
- Форум Ocaml (2008)