Partager via


Array.foldBack2<'T1,'T2,'State>, fonction (F#)

Applique une fonction aux paires d'éléments issues des deux collections, de droite à gauche, en créant ainsi un thread d'un argument d'accumulation par l'intermédiaire du calcul. Les deux tableaux d'entrée doivent avoir les mêmes longueurs, sinon une ArgumentException est levée.

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

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

// Signature:
Array.foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 [] -> 'T2 [] -> 'State -> 'State

// Usage:
Array.foldBack2 folder array1 array2 state

Paramètres

  • folder
    Type : 'T1 -> 'T2 -> 'State -> 'State

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

  • array1
    Type :'T1 []

    Premier tableau d'entrée.

  • array2
    Type :'T2 []

    Deuxième tableau d'entrée.

  • state
    Type : 'State

    État initial.

Exceptions

Exception

Condition

ArgumentException

Levée lorsque les tableaux d'entrée ont des longueurs différentes.

Valeur de retour

État final.

Notes

Cette fonction se nomme FoldBack2 dans l'assembly .NET. Si vous accédez au membre à partir d'un langage .NET autre que F#, ou par réflexion, utilisez ce nom.

Exemple

Le code suivant montre comment utiliser Array.foldBack2 :

type Transaction =
    | Deposit
    | Withdrawal

let transactionTypes = [| Deposit; Deposit; Withdrawal |]
let transactionAmounts = [| 100.00; 1000.00; 95.00 |]
let initialBalance = 200.00

let endingBalance = Array.foldBack2 (fun elem1 elem2 acc ->
                        match elem1 with
                        | Deposit -> acc + elem2
                        | Withdrawal -> acc - elem2)
                        transactionTypes
                        transactionAmounts
                        initialBalance
printfn "Ending balance: $%.2f" endingBalance

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#)