Seq.initInfinite<'T> — Funkcja (F#)

Generuje nowy sekwencji, gdy podstawy, zwróci kolejnych elementów przez wywołanie funkcji danego.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zestaw: FSharp.Core (w FSharp.Core.dll)

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

// Usage:
Seq.initInfinite initializer

Parametry

  • initializer
    Typ: int -> 'T

    Funkcja, która generuje w kolejności od indeksu danego elementu.

Wartość zwracana

Sekwencja wynik.

Uwagi

Wyniki wywołania funkcji nie zostaną zapisane, które jest funkcja zostanie ponownie jako niezbędne do generowania elementów.Funkcja jest przekazywany indeks elementu generowane.

Iteracja może kontynuować do Int32.MaxValue.

Ta funkcja o nazwie InitializeInfinite w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Bezpieczeństwo wątków

Sekwencja zwracane mogą być przekazywane między wątki bezpiecznie.Jednakże poszczególnych IEnumerator wygenerowany z sekwencji zwracane wartości nie jest dostępna jednocześnie.

Przykład

Poniższy przykład ilustruje użycie Seq.initInfinite utworzenia sekwencji 1/n^2, z przemian znaki.

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Collections.Seq — Moduł (F#)

Microsoft.FSharp.Collections — Przestrzeń nazw (F#)