Aracılığıyla paylaş


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 -> 'T

    Dizideki 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

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)