嵌套函数中出现意外错误

时间:2017-12-02 21:56:16

标签: ocaml

嘿,我是函数式编程的新手,我正在尝试编写一个将列表作为输入的函数。此函数应返回元组中的最后一个元素和剩余列表。

let poplast l = let rec temp acc t = match t with
    |[] -> failwith "Error"
    |[x]-> (acc,x)
    |x::xs -> temp x::acc xs
    in temp [] l;;

这是我得到的错误:

错误:此表达式具有类型'列表        但是预期表达式为' b *' c

在第三场比赛后。我真的不知道什么是错的。

1 个答案:

答案 0 :(得分:3)

OCaml将temp x::acc xs解析为(temp x) :: (acc xs),但您的意思是temp (x::acc) xs