Seq.fold<'T,'State>, fonction (F#)
Applique une fonction à chaque élément de la collection, en créant ainsi un thread d'un argument d'accumulation par l'intermédiaire du calcul.Si la fonction d'entrée est f et que les éléments sont i0...iN, alors cette fonction calcule f (... (f s i0)...) iN.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State
// Usage:
Seq.fold folder state source
Paramètres
folder
Type : 'State -> 'T -> 'StateFonction qui met à jour l'état avec chaque élément de la séquence.
state
Type : 'StateÉtat initial.
source
Type : seq<'T>Séquence d'entrée.
Exceptions
Exception |
Condition |
---|---|
Levée lorsque la séquence d'entrée a la valeur Null. |
Valeur de retour
Le résultat final des calculs.
Notes
Cette fonction se nomme Fold 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.
Exemple
Le code suivant montre comment utiliser Seq.fold pour implémenter une fonction qui calcule la somme des éléments d'une séquence.
let sumSeq sequence1 = Seq.fold (fun acc elem -> acc + elem) 0 sequence1
Seq.init 10 (fun index -> index * index)
|> sumSeq
|> printfn "The sum of the elements is %d."
Sortie
Plateformes
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informations de version
Versions de bibliothèque principale F#
Prise en charge dans : 2,0, 4,0, portables