我有一個創建Async工作流的函數,以及帶有10個以咖喱風格爲參數的函數。例如如何使用長參數列表來實現無點風格
let createSequenceCore a b c d e f g h i j =
async {
...
}
我要創建另一個函數來啓動工作流,所以我有
let startSequenceCore a b c d e f g h i j =
Async.StartImmediate (createSequenceCore a b c d e f g h i j)
有沒有什麼辦法可以擺脫那些多餘的參數?我嘗試了<<
運營商,但只能讓我刪除一個運營商。
let startSequenceCore a b c d e f g h i =
Async.StartImmediate << (createSequenceCore a b c d e f g h i)
(我加了Haskell和斯卡拉這個問題即使代碼本身是F#,因爲真的是我想要的只是如何做這樣的討好,這將適用於任何,我認爲Haskell或Scala答案可以很容易地移植到F#並且很可能被標記爲正確答案)。
備註合理地表明,沒有一個簡單的解決方案,這也可以得到賞金。
UPDATE geesh我不會給100分,與這個問題爭論,而不是回答這一個答案,即使是最高的投票,所以在這裏:
我已經有一個創建Async工作流的函數,以及以咖喱風格爲參數的函數。例如
let createSequenceCore a b c d =
async {
...
}
我要創建另一個函數來啓動工作流,所以我有
let startSequenceCore a b c d =
Async.StartImmediate (createSequenceCore a b c d)
有沒有什麼辦法可以擺脫那些多餘的參數?我嘗試了<<
運營商,但只能讓我刪除一個運營商。
let startSequenceCore a b c =
Async.StartImmediate << (createSequenceCore a b c)
作爲編輯添加了更完整的答案,請查看。 –