Compartir a través de


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

Aplica una función a pares de elementos procedentes de las dos colecciones, de izquierda a derecha, 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.fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 [] -> 'T2 [] -> 'State

// Usage:
Array.fold2 folder state array1 array2

Parámetros

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

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

  • state
    Tipo: 'State

    Estado inicial.

  • array1
    Tipo: 'T1 []

    Primera matriz de entrada.

  • array2
    Tipo: 'T2 []

    Segunda matriz de entrada.

Excepciones

Excepción

Condition

ArgumentException

Se produce cuando las matrices de entrada no tienen la misma longitud.

Valor devuelto

Estado final.

Comentarios

Esta función se denomina Fold2 en los ensamblados compilados. Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.

Ejemplo

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

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

  

Plataformas

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en la versión: 3

Vea también

Referencia

Collections.Array (Módulo de F#)

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

Historial de cambios

Fecha

Historial

Motivo

Agosto de 2010

Se ha agregado un ejemplo de código.

Mejora de la información.