OCaml: Vérifier une liste de disques pour l'adhésion
Question
Si j'ai défini les types suivants:
type category = Noun | Verb | Adjective | Preposition;;
type transformation = {start: category; fin: category};;
Quel est le meilleur moyen de répondre à la question " est l'enregistrement où start = Noun
dans la liste de transformation de type?
Un peu comme
let un = [{start= Noun; fin= Noun}; {start= Verb; fin= Adjective}];;
List.mem {start = Noun; _} un;;
Sauf que la syntaxe ne semble pas fonctionner.
La solution
List.exists (fun x -> x.start = Noun) un
List.mem
peut être considéré comme un cas particulier de List.exists
, où List.mem x ys
est équivalent à List.exists ((=) x) ys
. Vous pouvez donc utiliser List.exists
pour des critères d'appartenance plus généraux.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow