Seq.init<'T>, fonction (F#)
Génère une nouvelle séquence qui, si elle est itérée, retournera des éléments consécutifs en appelant la fonction donnée, jusqu'au nombre donné.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.init : int -> (int -> 'T) -> seq<'T>
// Usage:
Seq.init count initializer
Paramètres
count
Type : intNombre maximal d'éléments à générer pour la séquence.
initializer
Type : int -> 'TFonction qui génère un élément dans la séquence à partir d'un index donné.
Exceptions
Exception |
Condition |
---|---|
Levée lorsque le nombre est négatif. |
Valeur de retour
Séquence de résultat.
Notes
Les résultats de l'appel de la fonction ne seront pas enregistrés ; en d'autres termes, la fonction sera réappliquée chaque fois que nécessaire pour régénérer les éléments. L'index de l'élément actuellement généré est passé à la fonction.
Cette fonction se nomme Initialize dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.
Sécurité des threads
La séquence retournée peut être passée entre les threads en toute sécurité. Toutefois, les valeurs IEnumerator individuelles générées à partir de la séquence retournée ne doivent pas être accessibles simultanément.
Exemple
L'exemple suivant illustre l'utilisation de Seq.init pour créer une séquence de cinq premiers multiples de 10.
let seqFirst5MultiplesOf10 = Seq.init 5 (fun n -> n * 10)
Seq.iter (fun elem -> printf "%d " elem) seqFirst5MultiplesOf10
Plateformes
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3