Partager via


Array.foldBack<'T,'State>, fonction (F#)

Applique une fonction à chaque élément du tableau, 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, calcule alors f i0 (...(f iN s)).

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

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

// Signature:
Array.foldBack : ('T -> 'State -> 'State) -> 'T [] -> 'State -> 'State

// Usage:
Array.foldBack folder array state

Paramètres

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

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

  • array
    Type : 'T []

    Tableau d'entrée.

  • state
    Type : 'State

    État initial.

Valeur de retour

État final.

Notes

Cette fonction se nomme FoldBack dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage .NET autre que F# ou par réflexion, utilisez ce nom.

Exemple

L'exemple de code suivant montre la différence entre Array.fold et Array.foldBack.

// This computes 3 - 2 - 1, which evalates to -6. 
let subtractArray array1 = Array.fold (fun acc elem -> acc - elem) 0 array1
printfn "%d" (subtractArray [| 1; 2; 3 |])

// This computes 3 - (2 - (0 - 1)), which evaluates to 2. 
let subtractArrayBack array1 = Array.foldBack (fun elem acc -> elem - acc) array1 0
printfn "%d" (subtractArrayBack [| 1; 2; 3 |])

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.Array, module (F#)

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