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 -> 'TFunkce, 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é