假設我有一系列的序列工作的功能,我想用以下方式一起使用:應用幾個集合函數與一個枚舉
let meanAndStandardDeviation data =
let m = mean data
let sd = standardDeviation data
(m, sd)
上面的代碼要枚舉該序列兩次。我對一個函數感興趣,它會給出相同的結果,但只列舉一次序列。該函數將是這樣的:
magicFunction (mean, standardDeviation) data
其中輸入是函數的元組和一個序列和所述輸出中是與上面的功能是相同的。
這是可能的,如果功能mean
和stadardDeviation
是黑匣子,我不能改變它們的實現?
如果我寫mean
和standardDeviation
自己,有沒有一種方法,使他們一起工作?也許某種程度上讓他們繼續讓下一個功能的輸入和交付完成後的結果?
事實上,它是可以計算使用'fold'標準偏差 - 它採用方差的定義 - 見例如http://mathcentral.uregina.ca /QQ/database/QQ.09.02/carlos1.html – 2012-04-16 04:42:39
「我不確定您是否可以通過一次傳遞計算標準偏差」。見Knuth的聖經! – 2012-04-16 18:23:42
@JohnPalmer感謝您的參考! – 2012-04-16 22:26:24