2017-11-13 27 views
0

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;; 

構文エラーが発生しました。

+0

もうひとつのコメント: 'hd :: []'は読みやすくするために '[hd]'と書くことができます。 :) – RichouHunter

答えて

3

OCamlのififexpr1のthenexpr2のelseexpr3はのように見えます。キーワードthenがありません。

また、アンバランスなカッコがあります。最後に右かっこが必要なようです。

これらの修正の後で、あなたが見なければならないいくつかのタイプエラーがあります。

同じコメントを付けるために、==を使用しないでください。これは、高度な用途のための特殊目的の演算子です。日常的な等価演算子は=です。

関連する問題