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: intNumero massimo di elementi da generare per la sequenza.
initializer
Tipo: int -> 'TFunzione che genera un elemento nella sequenza da un indice specificato.
Eccezioni
Eccezione |
Condizione |
---|---|
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