Sdílet prostřednictvím


Seq.initInfinite<'T> – funkce (F#)

Generuje nový úsek, který při vstupní, vrátí po sobě následujících prvků voláním dané funkce.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq

Sestavení: FSharp.Core (v FSharp.Core.dll)

// Signature:
Seq.initInfinite : (int -> 'T) -> seq<'T>

// Usage:
Seq.initInfinite initializer

Parametry

  • initializer
    Typ: int -> 'T

    Funkce, která vytváří položky v pořadí daném indexu.

Vrácená hodnota

Řada výsledků.

Poznámky

Volání funkce výsledky nebudou uloženy, které je že funkce budou znovu použity podle potřeby obnovovat prvky.Funkce index položky generování předána.

Iterace může pokračovat až do Int32.MaxValue.

Tato funkce se nazývá InitializeInfinite v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Zabezpečení vlákna

Vrácené sekvence může bezpečně předána mezi podprocesy.Však jednotlivé IEnumerator hodnoty generované ze sekvence vrácené neměli přístup souběžně.

Příklad

Následující příklad ukazuje použití Seq.initInfinite k vytvoření sekvence 1/n^2, s různými příznaky.

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
  

Platformy

Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.Seq – modul (F#)

Microsoft.FSharp.Collections – obor názvů (F#)