Freigeben über


Array.foldBack2<'T1,'T2,'State>-Funktion (F#)

Wendet eine Funktion auf Paare von Elementen an, die aus beiden Auflistungen (von rechts nach links) 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.foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 [] -> 'T2 [] -> 'State -> 'State

// Usage:
Array.foldBack2 folder array1 array2 state

Parameter

  • folder
    Typ: 'T1 -> 'T2 -> 'State -> 'State

    Die Funktion, mit der der Zustand der Eingabeelemente aktualisiert wird.

  • array1
    Typ: 'T1 []

    Das erste Eingabearray.

  • array2
    Typ: 'T2 []

    Das zweite Eingabearray.

  • state
    Typ: 'State

    Der Ausgangszustand.

Ausnahmen

Ausnahme

Bedingung

ArgumentException

Wird ausgelöst, wenn die Eingabearrays unterschiedlich lang sind.

Rückgabewert

Der Abschlusszustand.

Hinweise

Der Name dieser Funktion in der .NET-Assembly lautet FoldBack2. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf den Member zugreifen.

Beispiel

Im folgenden Code wird die Verwendung von Array.foldBack2 veranschaulicht.

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

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

Siehe auch

Referenz

Collections.Array-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)