Ich versuche, diskriminierten Gewerkschaften und Datensatztypen meinen Kopf zu bekommen; speziell, wie sie für maximale Lesbarkeit kombiniert werden. Hier ein Beispiel: Eine Sportmannschaft kann entweder Punkte (sowohl Liga- als auch Tordifferenz) haben, oder sie kann aus der Liga ausgeschlossen werden. In diesem Fall hat sie keine Punkte oder Tordifferenz. Hier ist, wie ich versuchte, das auszudrücken:Kombinieren von diskriminierten Gewerkschaften mit Datensatztypen
type Points = { LeaguePoints : int; GoalDifference : int }
type TeamState =
| CurrentPoints of Points
| Suspended
type Team = { Name : string; State : TeamState }
let points = { LeaguePoints = 20; GoalDifference = 3 }
let portsmouth = { Name = "Portsmouth"; State = points }
Das Problem kommt am Ende der letzten Zeile, wo ich ‚State = Punkte‘ sagen. Ich bekomme 'Ausdruck wurde erwartet, dass TeamState eingegeben wurde, aber hier sind Punkte eingegeben'. Wie komme ich da rum?
Sie Schönheit! Danke Pad. – Kit
(Wird als Antwort markiert, wenn erlaubt - 6 Minuten!) – Kit