Aracılığıyla paylaş


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

Sağdan sola doğru iki koleksiyondan çekilen öğe çiftlerine işlevi accumulator bağımsız değişken hesaplama iş parçacığı ile uygular. İki giriş dizisi aynı uzunlukta olmalıdır, aksi halde ArgumentException atılır.

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

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

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

// Usage:
Array.foldBack2 folder array1 array2 state

Parametreler

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

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

  • array1
    Type: 'T1 []

    İlk giriş dizisi.

  • array2
    Type: 'T2 []

    İkinci giriş dizisi.

  • state
    Türü:'State

    Başlangıç durumu.

Ö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, .NET bütünleştirilmiş kodunda FoldBack2 olarak adlandırılmıştır. Eğer üyeye F#'dan farklı bir .NET dil üzerinden erişecekseniz, bu adı kullanın.

Örnek

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

Çı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#)