在深入研究 F# 的最新版本时,我尝试让它与 PLINQ 交互。然而,我注意到两者在代码方面并没有很好地结合在一起。事实上,编写如下代码似乎是不可能的:
open System.Linq
let someArray = [|"abc"; "def"|]
someArray.AsParallel().Count(new Func<_,_>(fun s -> s.Length = 3))
因为 System.Linq.ParallelEnumerable 类中包含的 ParallelQuery 的扩展方法似乎没有被 F# 采用。
如果根本不支持扩展方法,我不会感到惊讶,但是由于我可以访问为 IEnumerable 定义的 someArray.Count 扩展方法,我想知道为什么我不能访问 PLINQ 的扩展方法。
我错过了什么吗?
这是 F# 限制吗?如果是这样,是通过设计吗?如果没有,是否会在未来的版本中解决?