Ich verwende den CsvTypeProvider, um Daten aus CSV-Dateien in meine eigenen Datenstrukturen zu mappen. Das funktioniert hervorragend, mit Ausnahme, dass ich der Abbildungsfunktion jedes Mal wiederholen:F # CsvTypeProvider - Zuordnungsfunktion aus abgeleiteten Typen
type GamesFile = CsvProvider<"./data/15.csv">
let games15 = GamesFile.Load("./data/15.csv").Rows |> Seq.map (fun c -> { Division = c.Div; Date = c.Date; HomeScore = c.HomeScore; AwayScore = c.AwayScore })
let games16 = GamesFile.Load("./data/16.csv").Rows |> Seq.map (fun c -> { Division = c.Div; Date = c.Date; HomeScore = c.HomeScore; AwayScore = c.AwayScore })
Wenn ich es auf eine Funktion versuchen zu bewegen, bin ich gesagt, dass „Lookup auf Objekt von unbestimmter Art, basierend auf Informationen, bevor diese Programmpunkt. Vor diesem Programmpunkt kann eine Typ-Anmerkung erforderlich sein, um den Typ des Objekts einzuschränken. Dadurch kann die Suche aufgelöst werden. "
Dies ist sinnvoll, aber wie kann ich einer Zuordnungsfunktion mitteilen, welchen Typ sie hat, wenn der Typ aus dem Inhalt der CSV abgeleitet wird? Wie wird das normalerweise gelöst?
Gerade schweben auf 'c' in Ihrer IDE, wird es Ihnen die Art zeigen. Es wird auch Ihre Verwirrung darüber beseitigen, wo der Typ definiert ist. –
@FyodorSoikin Um fair zu sein, ist die Tootip für Typ Provider ein bisschen verwirrend, weil es den Typ Alias ignoriert. –