F # 2010 Seq.generate_using - PullRequest
       15

F # 2010 Seq.generate_using

2 голосов
/ 29 мая 2009

Есть ли альтернатива / обходной путь для Seq.generate_using в Visual Studio 2010? FSharp.PowerPack.dll не доступен для 2010 AFAIK

Ответы [ 2 ]

5 голосов
/ 30 мая 2009

(Извините за то, что 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 }
3 голосов
/ 04 июня 2009

FYI, бинарные файлы PowerPack для .Net 4.0 Beta1 появились сегодня:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...