Array.foldBack2<'T1,'T2,'State> 関数 (F#)

計算にアキュムレータ引数を使用しながら、2 つのコレクションから抽出された要素のペアに右から左に関数を適用します。2 つの入力配列は同じ長さである必要があります。長さが異なると、ArgumentException が発生します。

名前空間/モジュール パス: Microsoft.FSharp.Collections.Array

アセンブリ: FSharp.Core (FSharp.Core.dll 内)

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

// Usage:
Array.foldBack2 folder array1 array2 state

パラメーター

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

    入力要素を受け取って状態を更新する関数。

  • array1
    型: 'T1 []

    最初の入力配列。

  • array2
    型: 'T2 []

    2 番目の入力配列。

  • state
    型: 'State

    初期状態です。

例外

例外

状態

ArgumentException

入力配列の長さが異なる場合にスローされます。

戻り値

最終状態。

解説

この関数は、.NET アセンブリでは FoldBack2 という名前です。F# 以外の .NET 言語、またはリフレクションを使用してメンバーにアクセスする場合は、この名前を使用します。

使用例

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

出力

  Ending balance: $1205.00


プラットフォーム

Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2

バージョン情報

F# コア ライブラリのバージョン

サポート: ポータブル 2.0、4.0

参照

関連項目

Collections.Array モジュール (F#)

Microsoft.FSharp.Collections 名前空間 (F#)