Partager via


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 : int

    Nombre maximal d'éléments à générer pour la séquence.

  • initializer
    Type : int -> 'T

    Fonction qui génère un élément dans la séquence à partir d'un index donné.

Exceptions

Exception

Condition

ArgumentException

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

Voir aussi

Référence

Collections.Seq, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)