Seq.initInfinite<'T> İşlevi (F#)
Yinelendiğinde birbirini izleyen öğeleri verilen işlevi çağırarak dönen yeni bir dizi oluşturur.
Ad alanı/modül yolu: Microsoft.FSharp.Collections.Seq
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
Seq.initInfinite : (int -> 'T) -> seq<'T>
// Usage:
Seq.initInfinite initializer
Parametreler
initializer
Türü: int -> 'TDizideki verilen dizinden bir öğe oluşturan işlev.
Dönüş Değeri
Sonuç dizisi.
Notlar
Işlev arama sonuçları kaydedilmez yani öğeleri yeniden oluşturmak için gerektiğinde işlev yeniden uygulanır.İşlev oluşturulan öğenin dizinine geçirilir.
Yineleme Int32.MaxValue'a kadar devam edebilir.
Bu işlev adlı InitializeInfinite kodları derlenmiş derlemeleri.İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.
İş parçacığı güvenliği
Döndürülen dizi iş parçacıkları arasında güvenle geçirilebilir.Bununla birlikte, tek tek IEnumerator döndürülen serisinden oluşturulan değerler değil erişilen aynı anda.
Örnek
Aşağıdaki örnek kullanımını gösterir Seq.initInfinite bir sıra oluşturmak için 1/n^2, değişen işaretlere sahip.
let seqInfinite = Seq.initInfinite (fun index ->
let n = float( index + 1 )
1.0 / (n * n * (if ((index + 1) % 2 = 0) then 1.0 else -1.0)))
printfn "%A" seqInfinite
Platformlar
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Sürüm Bilgisi
F# Çekirdek Kitaplığı sürümleri
Desteklenen: 2.0, 4.0, Portable