Compartir a través de


Array.foldBack2<'T1,'T2,'State> (Función de F#)

Aplica una función a pares de elementos procedentes de las dos colecciones, de derecha a izquierda, y subprocesa un argumento acumulador durante el cálculo.Las dos matrices de entrada deben tener la misma longitud; de lo contrario, se producirá una excepción ArgumentException.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Array

Ensamblado: FSharp.Core (en FSharp.Core.dll)

// Signature:
Array.foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 [] -> 'T2 [] -> 'State -> 'State

// Usage:
Array.foldBack2 folder array1 array2 state

Parámetros

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

    Función que se usa para actualizar el estado asignado a los elementos de entrada.

  • array1
    Tipo: 'T1 []

    Primera matriz de entrada.

  • array2
    Tipo: 'T2 []

    Segunda matriz de entrada.

  • state
    Tipo: 'State

    Estado inicial.

Excepciones

Excepción

Condition

ArgumentException

Se produce cuando las matrices de entrada tienen longitudes diferentes.

Valor devuelto

Estado final.

Comentarios

Esta función se denomina FoldBack2 en el ensamblado .NET.Si obtiene acceso al miembro desde un lenguaje .NET distinto de F# o mediante reflexión, use este nombre.

Ejemplo

En el siguiente código se muestra cómo usar Array.foldBack2.

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

  

Plataformas

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Información de versiones

Versiones de la biblioteca básica de F#

Se admite en: 2.0, 4.0, portables

Vea también

Referencia

Collections.Array (Módulo de F#)

Microsoft.FSharp.Collections (Espacio de nombres de F#)