你如何为传统的F#应用程序提供ResizeArray?

时间:2012-10-25 05:10:33

标签: f# mono

我正在使用F#3.0在Mono 3.0上构建2008年的F#应用程序TrueSkill。我得到的两个错误是

fList |> ResizeArray.iter (fun f -> f.ResetMarginals())

let sumLogS = fList |> ResizeArray.fold_left (fun acc f -> acc + (f.LogNormalisation ())) 0.0

对于F#1.9,ResizeArray来自PowerPack。显然现在github上有一个PowerPack。但标准的Mono文档显示ResizeArray<T>只是List<T>的别名。我是否需要获取原始ResizeArray,如果是,我将如何使用ResizeArray.fs从PowerPack中做到这一点? ListResizeArray之间的当前关系是什么?

1 个答案:

答案 0 :(得分:3)

为了澄清,ResizeArray<'T>也是.NET中List<'T>的别名。 F#PowerPack仅提供ResizeArray模块中的高阶函数。

由于不依赖于this module,因此建议将 ResizeArray.fs 直接复制到您的项目中。您可能需要更改一些函数名称以匹配新的ResizeArray模块,例如将fold_left更改为fold,将fold_right更改为foldBack