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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3
Voir aussi
Référence
Collections.Array, module (F#)
Microsoft.FSharp.Collections, espace de noms (F#)
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Août 2010 |
Ajout d'un exemple de code |
Améliorations apportées aux informations. |