我刚开始学习Ocaml,还在玩递归函数。Ocaml Compiler告诉我,递归调用"if h1=h2 t1 t1 t2“中的助手会导致一个错误:该表达式键入'a list * 'a list *a list -> bool,但表达式被期望为bool类型。我知道它是在告诉我编译器正在期待一个布尔值,而是得到一个返回布尔值的函数。但是我不知道如何修复这个问题。任何帮助都是值得赞赏<e
我是OCaml的新手,正在用OCaml编写一个递归程序,它返回列表的第n个元素。然而,当列表太短时,我需要显示一个信息性的错误消息,显示一个列表,比如"( a,b,c)没有5个元素“。这是我的代码 match list with
| [] -> raise(Failure "")| a :: l -> match n