【发布时间】:2019-03-20 01:32:41
【问题描述】:
作为一个简单挑战的一部分,我将从头开始编写几个简单的统计函数,并尝试以最“惯用的 F#”方式编写它们。我是函数式编程的新手,所以我想学习如何从一开始就创建简单的东西。
这是我目前所拥有的:
let mean (x : float list) : float =
(List.sum x) / (float (List.length x))
let variance (x : float list) : float =
x
|> List.map (fun a -> pown (a - (mean x)) 2)
|> mean
let stdDev =
variance >> Math.Sqrt
我喜欢 stdDev 函数是如何使用组合定义的,但我觉得可能有一些更漂亮、更惯用的方式来定义前两个。
有什么建议吗?
【问题讨论】: