Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Funzione Seq.initInfinite<'T> (F#)

Genera una nuova sequenza che, se iterata, restituirà elementi successivi chiamando la funzione specificata.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (in FSharp.Core.dll)

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

// Usage:
Seq.initInfinite initializer

initializer

Tipo: int -> 'T

Funzione che genera un elemento nella sequenza da un indice specificato.

Sequenza risultante.

I risultati della chiamata alla funzione non verranno salvati, ovvero la funzione verrà applicata di nuovo, se necessario, per rigenerare gli elementi. Alla funzione viene passato l'indice dell'elemento in corso di generazione.

L'iterazione è in grado di continuare fino a Int32.MaxValue.

Questa funzione è denominata InitializeInfinite negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

La sequenza restituita può essere passata in modo sicuro tra thread. L'accesso ai singoli valori IEnumerator generati dalla sequenza restituita non deve essere tuttavia eseguito in modo simultaneo.

Nell'esempio di codice seguente viene illustrato l'utilizzo di Seq.initInfinite per creare una sequenza 1/n^2 con segni alternati.


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


            
              seq [-1.0; 0.25; -0.1111111111; 0.0625; ...]
            
          

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

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Aggiunte alla community

Mostra:
© 2015 Microsoft