Aracılığıyla paylaş


Array.fold2<'T1,'T2,'State> İşlevi (F#)

Soldan sağa doğru iki koleksiyondan çekilen öğe çiftlerine işlevi accumulator bağımsız değişken hesaplama iş parçacığı ile uygular. İki giriş dizileri aynı uzunlukları, aksi durumda olmalıdır ArgumentException ortaya çıkar.

Ad alanı/modül yolu: Microsoft.FSharp.Collections.Array

Derleme: FSharp.Core (FSharp.Core.dll),

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

// Usage:
Array.fold2 folder state array1 array2

Parametreler

  • folder
    Türü:'State -> 'T1 -> 'T2 -> 'State

    Verilen giriş öğelerine göre durumu güncellemek için işlev.

  • state
    Türü:'State

    Başlangıç durumu.

  • array1
    Type: 'T1[]

    İlk giriş dizisi.

  • array2
    Type: 'T2[]

    İkinci giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentException

Giriş dizilerinin uzunluğu farklı olduğu zaman oluşturulur.

Dönüş Değeri

Son durum.

Notlar

Bu işlev adlı Fold2 kodları derlenmiş derlemeleri. İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki kod nasıl kullanılacağını gösterir 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

Çıktı

  

Platformlar

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

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.Array Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)