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初期状態です。
例外
例外 |
状態 |
---|---|
入力配列の長さが異なる場合にスローされます。 |
戻り値
最終状態。
解説
この関数は、.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
出力
プラットフォーム
Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2
バージョン情報
F# コア ライブラリのバージョン
サポート: ポータブル 2.0、4.0