let undefined = ["string"; ""; "string"; "boolean";"";"innermost"]
Ho una lista e voglio scrivere una funzione che restituisca una lista senza lista di stringhe doppia e vuota. Per esempio la lista undefined
precedente restituirà:rimuovere la stringa duplicata e la stringa vuota
["string"; "boolean"; "innermost"]
scrivo questa funzione tornare per me senza duplicati, ma come posso aggiungere la condizione di testare una stringa vuota.
let rec uniquify = function
| [] -> []
| x::xs -> x :: uniquify (List.filter ((<>) x) xs)
La ringrazio molto
@Febrice Le Fessant Ho provato il tuo codice e alla riga 8 (iter s set tail) il compilatore mi ha dato questo errore: Errore: "Questa espressione ha tipo StringSet.elt = stringa ma si aspettava un'espressione di tipo 'una lista ". – Quyen
C'è stato un piccolo errore alla riga 8, il primo argomento di iter è una lista di stringhe e non solo una stringa. Ho appena provato su [TryOCaml] (http://try.ocamlpro.com/) e ora funziona bene. – cago