2016-04-15 42 views
5

Czytam plik CSV w F # z CsvProvider z FSharp.Data. Czy istnieje sposób na dodanie nowych (obliczonych) kolumn bez przekształcania ich w zupełnie nowy typ?Dodawanie nowego członka do typu CsvProvider w F #

open FSharp.Data 

type Person = CsvProvider<"persons.csv"> 
let personData = Person.Load "persons.csv" 

Jeśli Person został członkiem nazywa YearOfBirth wtedy to jest możliwe, aby dodać nowy element do nazywany Age który miałby obliczoną wartość (DateTime.Now.Year - YearOfBirth) dla wszystkich wierszy CSV?

Odpowiedz

6

To zależy od tego, co chcesz, ale to może działać:

type Person.Row with 
    member this.Age = DateTime.Now.Year - this.YearOfBirth 
+0

To nie praca, to jest dokładnie to, co chciałem. Dziękuję, nie wiedziałem, że rekordy mogą być przedłużane w ten sposób w F #. – Bedford