Может ли кто-нибудь помочь мне здесь на плаву? Все еще новичок в F #, впервые пытаюсь использовать его для чего-то серьезного, но застрял в этой проблеме с nOOb.
У меня есть тип Актив
type Asset(line:string) =
let fields = line.Split(',')
member this.EAD = Double.Parse(fields.[8])
Затем я выставляю CSV-файл как последовательность :
'data' - это последовательность строк в файле
let assets = Seq.map(fun line -> Asset(line)) data
Теперь я хочу получить общую EAD этих активов, но я получаю ошибку
'This value is not a function and cannot be applied'.
Вот некоторые из вещей, которые я пробовал:
let totEAD = Seq.sum(a.EAD) assets // first try
let totEAD = Seq.sum(fun(a)->a.EAD) assets // pretty sure this is a function..
let getEad(a:Asset) = a.EAD // val getEad : Asset -> float ... is it a val of a function?
let x = Seq.sum(fun (a) -> getEad(a)) assets // nope...
Заранее спасибо,
Герт-Ян
Обновление:
Это работает, но я все еще озадачен, почему я не могу сделать это за один раз, есть какие-нибудь советы?
let x = Seq.map(fun (a:Asset) -> a.EAD) assets // first turn it into a seq<float>
let tot = Seq.sum(x)