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 -> 'StateFonction 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 |
---|---|
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