Sdílet prostřednictvím


Array.fold2 < "T1, T2, stát > Funkce (F#)

Použije funkci dvojice prvků z dvě kolekce zleva doprava, threading argument akumulátorové prostřednictvím výpočtu.Dvě vstupní pole musí mít stejné délky, jinak ArgumentException je aktivována.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Array

Sestavení: FSharp.Core (v FSharp.Core.dll)

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

// Usage:
Array.fold2 folder state array1 array2

Parametry

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

    Funkce Aktualizovat stav dané vstupní prvky.

  • state
    Typ:'State

    Počáteční stav.

  • array1
    Type: 'T1[]

    První vstupní pole.

  • array2
    Type: 'T2[]

    Druhý vstupní pole.

Výjimky

Výjimka

Podmínka

ArgumentException

Vyvolána při vstupní pole délky se liší.

Vrácená hodnota

Konečný stav.

Poznámky

Tato funkce se nazývá Fold2 v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující kód ukazuje způsob použití 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

Výsledek

  

Platformy

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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.Array modul (F#)

Obor názvů Microsoft.FSharp.Collections (F#)