Frage

Wenn ich die folgenden Arten definiert:

type category = Noun | Verb | Adjective | Preposition;;
type transformation = {start: category; fin: category};;

Was ist der beste Weg, um die Frage „ist der Datensatz, in dem start = Noun in der Liste der Typ-Transformation?

beantworten

So ähnlich wie

let un = [{start= Noun; fin= Noun}; {start= Verb; fin= Adjective}];;    
List.mem {start = Noun; _} un;;

Außer, dass Syntax scheint nicht zu funktionieren.

War es hilfreich?

Lösung

List.exists (fun x -> x.start = Noun) un

List.mem kann als nur ein Spezialfall von List.exists gedacht werden, wo List.mem x ys zu List.exists ((=) x) ys entspricht. So können Sie List.exists für allgemeinere Mitgliedschaftskriterien verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top