【发布时间】:2020-01-29 03:25:00
【问题描述】:
我最近才开始学习 Ocaml,现在才开始练习一些代码。 在这种情况下,我尝试在列表中查找最大数量,但它不断返回错误消息。
let max: int list -> int
= fun lst ->
match lst with
|[] -> 0
|h::[] -> h
|h::t -> let a = max t in
if h < a then h
else
a;;
Ocaml 一直在说:
错误:此表达式的类型为 int list -> int list 但表达式应为 int 类型。
我不明白为什么 a 是一个 int 列表,尽管我声称它是一个 max t,它是一个将 int 列表变成 int 的函数...感谢您的帮助。
【问题讨论】:
标签: recursion compiler-errors ocaml