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.

Était-ce utile?

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
scroll top