Share via


List.foldBack<'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 i0 (...(f iN s)).

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.List

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

// Signature:
List.foldBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State

// Usage:
List.foldBack folder list state

Paramètres

  • folder
    Type : 'T -> 'State -> 'State

    Fonction permettant de mettre à jour l'état selon les éléments d'entrée.

  • list
    Type : 'T list

    Liste d'entrée.

  • state
    Type : 'State

    État initial.

Valeur de retour

Valeur d'état finale.

Notes

Cette fonction se nomme FoldBack 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

L'exemple de code suivant illustre l'utilisation de List.foldBack.

let sumListBack list = List.foldBack (fun acc elem -> acc + elem) list 0
printfn "%d" (sumListBack [1; 2; 3])

// For a calculation in which the order of traversal is important, fold and foldBack have different
// results. For example, replacing foldBack with fold in the copyList function
// produces a function that reverses the list, rather than copying it.
let copyList list = List.foldBack (fun elem acc -> elem::acc) list []
printfn "%A" (copyList [1 .. 10])

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

Voir aussi

Référence

Collections.List, module (F#)

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