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

Aktualisiert: August 2010

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 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

Collections.Array-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

August 2010

Codebeispiel hinzugefügt.

Informationsergänzung.