Condividi tramite


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

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

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

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

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

// Usage:
Seq.init count initializer

Parametri

  • count
    Tipo: int

    Numero massimo di elementi da generare per la sequenza.

  • initializer
    Tipo: int -> 'T

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

Eccezioni

Eccezione

Condizione

ArgumentException

Generata quando il conteggio è negativo.

Valore restituito

Sequenza risultante.

Note

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.

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

Thread safety

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.

Esempio

Nell'esempio di codice seguente viene illustrato l'utilizzo di Seq.init per creare una sequenza dei primi cinque multipli di 10.

let seqFirst5MultiplesOf10 = Seq.init 5 (fun n -> n * 10)
Seq.iter (fun elem -> printf "%d " elem) seqFirst5MultiplesOf10
  

Piattaforme

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.

Informazioni sulla versione

F# Runtime

Supportato in: 2.0, 4.0

Silverlight

Supportato in: 3

Vedere anche

Riferimenti

Modulo Collections.Seq (F#)

Spazio dei nomi Microsoft.FSharp.Collections (F#)