У меня есть список классов F#, для которых я использую свойства для доступа к данным (я использую библиотеку, разработанную на C#). Я хотел бы сгруппировать по одному свойству, а затем применить отдельную функцию к каждому свойству во втором элементе результирующего кортежа.
Пример:
let grouped = list |> Seq.groupBy (fun x -> x.Year) //group by the year property. Results in Seq<int * seq<myClass>>
|> Seq.map (fun (a, b) -> (a, //How to map generic functions to each remaining property in the second tuple?
Надеюсь, это будет иметь смысл для кого-то. Мой второй элемент кортежа — это последовательность, полученная из groupBy. К каждому оставшемуся свойству в MyClass должна применяться другая функция. В прошлом, чтобы суммировать свойство, я только что сделал что-то вроде:
|> Seq.map (fun (a, b) -> (a, b |> Seq.SumBy (fun x -> x.myProperty)))
Я хотел бы сделать что-то подобное, используя Seq.map для нескольких свойств.
Большое спасибо за любую помощь, Ричард