Array.fold2<'T1,'T2,'State>-Funktion (F#)
Aktualisiert: August 2010
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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Versionsinformationen
F#-Runtime
Unterstützt in: 2.0, 4.0
Silverlight
Unterstützt in: 3
Siehe auch
Weitere Ressourcen
Microsoft.FSharp.Collections-Namespace (F#)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
August 2010 |
Codebeispiel hinzugefügt. |
Informationsergänzung. |