OCaml: eine Liste der Datensätze für die Mitgliedschaft prüfen
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?
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.
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