我正在處理一個我知道可以用C#解決的問題。我想向我的老闆證明F#能夠以更簡潔的方式解決問題。然而,我對函數式編程的理解還很不成熟。F# - 在列表上執行非確定性分組
問題:
我用的「貿易」類的列表的工作。所述類的定義如下:
type Trade(brokerId : string, productId : string, marketId : string, buySideId : string, tradeDate : string, ruleId : int) = class
member this.BrokerId = brokerId
member this.ProductId = productId
member this.MarketId = marketId
member this.BuySideId = buySideId
member this.TradeDate = tradeDate
end
我需要能夠組的交易,然後應用規則以每個所得的數據組的。
但是我不能保證該數據的分組,即確定分組將有可能改變每次程序運行時的規則 - 所以比如我可能要組:
- TradeDate,BrokerId
- TradeDate只有
- TradeDate,BrokerId,ACCOUNTID
...等等。
一旦我有了不同的羣體,應用規則(比如'總TradeAmount大於10,000')就很容易(我認爲)。
任何幫助/指針與創建一個功能導向的解決方案,這個問題將非常受歡迎。
非常感謝。
在程序的任何運行過程中,你如何知道要分組?你幾乎可以肯定地用'Seq.groupBy'來做你想要的... – kvb 2010-07-24 03:51:57
這些分組將在數據庫中進行配置。所以我會返回一個屬性名稱列表 - 這將不得不按照給定的順序應用。 – Peanut 2010-07-24 03:54:25