我是 OCaml 的新手,正在用 OCaml 编写一个递归程序,它返回列表的第 n 个元素。但是,当列表太短时,我需要显示一条信息性错误消息,显示一个列表,例如“( abc )没有 5 个元素”。这是我的代码
let rec nth_element n list =
match list with
| [] -> raise(Failure "")
| a :: l -> match n with
0 -> a
n -> nth_element (n-1) l
我想用所需的错误消息替换 'raise(Failure "")' 部分。为它编写一个函数并没有帮助,因为它返回了单位类型,而 int 类型是必需的。