2

Visual Studio 2010のSeq.generate_usingの代替/回避策はありますか?FSharp.PowerPack.dllは、2010AFAIKでは使用できません

4

2 に答える 2

5

(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 }
于 2009-05-29T21:42:31.390 に答える
3

参考までに、.Net 4.0 Beta1 の PowerPack バイナリが本日オンラインになりました。

http://www.microsoft.com/downloads/details.aspx?FamilyID=e475a670-9596-4958-bfa2-dc0ac29b4631&displaylang=en

于 2009-06-04T01:59:56.077 に答える