let undefined = ["string"; ""; "string"; "boolean";"";"innermost"]
私はリストを持っています。重複した空の文字列リストを持たないリストを返す関数を作成したいと思います。例えば、上記のundefined
リストが返されます:重複する文字列と空の文字列を削除する
["string"; "boolean"; "innermost"]
私はそれが重複することなく、私のために返すこの関数を書くが、どのように私は空の文字列をテストして条件を追加することができます。
let rec uniquify = function
| [] -> []
| x::xs -> x :: uniquify (List.filter ((<>) x) xs)
は
List.filter (fun s -> s <> "")
の結果はその後、空の文字列を削除するには
@Febrice Le Fessant私はあなたのコードを試してみましたが、8行目(iter s set tail)コンパイラが私にこのエラーを教えてくれました:エラー: "この式はStringSet型ですが、文字列はstring型ですが、 " – Quyen
8行目に少し間違いがありました。iterの最初の引数は文字列ではなく文字列リストです。 私は[TryOCaml](http://try.ocamlpro.com/)で試してみましたが、今は問題なく動作します。 – cago