2016-04-15 10 views
5

私はFSharp.DataからCsvProviderでF#でCSVファイルを読みます。新しい(計算された)列をまったく新しい型に変換せずに追加する方法はありますか?FsでCsvProviderタイプに新しいメンバーを追加する

open FSharp.Data 

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

Personは、メンバーがそれに新しいメンバーを追加することが可能である、その後YearOfBirthと呼ばれている場合は、すべてのCSV行の(DateTime.Now.Year - YearOfBirth)の計算値を持っているでしょうAgeと呼ばれますか?

答えて

6

それはあなたが望むものに依存しますが、これは働くことがあります。

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

それは、それは私が望んでいたまさに仕事だん。ありがとう、私はレコードがF#でこのように拡張することができるか分からなかった。 – Bedford