Я хочу написать функцию, которая принимает значения пользовательского класса myType
и возвращает myType option
. Не уверен, что моя проблема связана с сигнатурой, содержанием или возвращаемыми значениями.Возвращаемое значение опциона OCaml и соответствующее соответствие
Например, я попытался написать следующее (оно упрощено и не имеют никакого реального смысла):
let rec myFunc (t:myType) myType option =
let t2 = myFunc t in
match t2 with
| None -> None
| _ -> t
И я получаю следующее сообщение об ошибке компиляции:
Error: This pattern matches values of type 'a option but a pattern was expected which matches values of type 'b -> 'c -> 'd
Не что не так с моим синтаксисом или где я не понимаю OCaml.
Это похоже на бесконечный цикл для меня. – RichN
Конечно. OP говорит: (он упрощен и не имеет реального смысла) –