Array.fold2<'T1,'T2,'State>, fonction (F#)
Applique une fonction aux paires d'éléments issues des deux collections, de gauche à droite, 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.fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 [] -> 'T2 [] -> 'State
// Usage:
Array.fold2 folder state array1 array2
Paramètres
folder
Type : 'State -> 'T1 -> 'T2 -> 'StateFonction permettant de mettre à jour l'état selon les éléments d'entrée.
state
Type : 'StateÉtat initial.
array1
Type : 'T1 []Premier tableau d'entrée.
array2
Type : 'T2 []Deuxième tableau d'entrée.
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 Fold2 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
Le code suivant montre comment utiliser Array.fold2 :
// Use Array.fold2 to perform computations over two arrays (of equal size)
// at the same time.
// Example: Add the greater element at each array position.
let sumGreatest array1 array2 =
Array.fold2 (fun acc elem1 elem2 ->
acc + max elem1 elem2) 0 array1 array2
let sum = sumGreatest [| 1; 2; 3 |] [| 3; 2; 1 |]
printfn "The sum of the greater of each pair of elements in the two arrays is %d." sum
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