我正在从Mono 3.0和F#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中获取它呢? List
和ResizeArray
之间的当前关系是什么?
最佳答案
为了澄清,ResizeArray<'T>也是.NET中List<'T>
的别名。 F#PowerPack仅提供ResizeArray
模块中的高阶函数。
由于不依赖于this module,建议将ResizeArray.fs直接复制到您的项目中。您可能必须更改一些函数名称以匹配新的ResizeArray
模块,例如将fold_left
更改为fold
,将fold_right
更改为foldBack
。
关于f# - 如何为旧版F#应用程序提供ResizeArray?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13061952/