从排序列表中删除重复的(OCaml)

时间:2017-11-13 21:01:51

标签: syntax-error ocaml

我正在尝试从OCaml中已排序的列表中删除重复的项目。这是我的代码:

let rec remove_dup = function
    | [] -> []
    | hd :: [] -> hd :: []
    | hd :: hd2 :: tl -> if (hd == hd2) (remove_dup tl) :: hd else (remove_dup (h2 :: tl) :: hd;;

我收到语法错误。

1 个答案:

答案 0 :(得分:3)

OCaml if看起来像if expr1 then expr2 else expr3 。您错过了关键字then

你也有不平衡的括号。看起来你最后需要一个右括号。

完成这些修复后,您应该看到一些类型错误。

作为旁注,不要使用==来测试平等性。它是高级用途的特殊用途运营商。日常等式运算符为=