Array.fold2<'T1,'T2,'State>-Funktion (F#)
Wendet eine Funktion auf Paare von Elementen an, die aus beiden Auflistungen (von links nach rechts) stammen, wobei ein Akkumulatorargument in der Berechnung mitgeführt wird. Beide Eingabearrays müssen dieselbe Länge haben. Andernfalls wird eine ArgumentException ausgelöst.
Namespace/Modulpfad: 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
Parameter
folder
Typ: 'State -> 'T1 -> 'T2 -> 'StateDie Funktion, mit der der Zustand der Eingabeelemente aktualisiert wird.
state
Typ: 'StateDer Ausgangszustand.
array1
Typ: 'T1 []Das erste Eingabearray.
array2
Typ: 'T2 []Das zweite Eingabearray.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Wird ausgelöst, wenn die Eingabearrays unterschiedlich lang sind. |
Rückgabewert
Der Abschlusszustand.
Hinweise
Der Name dieser Funktion in kompilierten Assemblys lautet Fold2. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.
Beispiel
Im folgenden Code wird die Verwendung von Array.fold2 veranschaulicht.
// 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
Output
Plattformen
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Versionsinformationen
F#-Kern-Bibliotheks-Versionen
Unterstützt in: 2,0, 4,0, portablen