nin*_*rid 2 f# visual-studio-2010
在Visual Studio 2010中是否存在Seq.generate_using的替代/解决方法?FSharp.PowerPack.dll不适用于2010 AFAIK
(抱歉,PowerPack尚未在2010年上市.)
我不记得CTP更新是否已经存在,但在内部位中我收到警告:
不推荐使用此构造.此功能将在以后的版本中删除.如有必要,从F#PowerPack中获取其实现的副本并将其复制到您的应用程序中
所以这是PowerPack的代码:
#nowarn "9"
namespace Microsoft.FSharp.Compatibility
open System.Collections.Generic
module Seq =
let combine ie1 ie2 = Seq.zip ie1 ie2
let nonempty (ie : seq<'T>) = use e = ie.GetEnumerator() in e.MoveNext() //'
let generate openf compute closef =
seq { let r = openf()
try
let x = ref None
while (x := compute r; (!x).IsSome) do
yield (!x).Value
finally
closef r }
let generate_using (openf : unit -> ('b :> System.IDisposable)) compute = //'
generate openf compute (fun (s:'b) -> s.Dispose()) //'
let cons (x:'T) (s: seq<'T>) =
seq { yield x
yield! s }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
745 次 |
| 最近记录: |