2016-04-15 21 views
5

我正在用FSharp.Data中的CsvProvider從F#中讀取CSV文件。有沒有辦法添加新的(計算)列而不將其轉換爲全新的類型?在F#中添加新成員到CsvProvider類型#

open FSharp.Data 

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

如果Person有一個成員叫YearOfBirth那麼是否有可能增加一個新成員叫Age,將有(DateTime.Now.Year - YearOfBirth)所有CSV行的計算值?

回答

6

這取決於你想要什麼,但是這可能工作:

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

它的工作,這正是我想要的。謝謝,我不知道在F#中可以用這種方式擴展記錄。 – Bedford