Array.fold2<'T1,'T2,'State> 関数 (F#)
計算にアキュムレータ引数を使用しながら、2 つのコレクションから抽出された要素のペアに左から右に関数を適用します。2 つの入力配列は同じ長さである必要があります。長さが異なると ArgumentException が発生します。
名前空間/モジュール パス: Microsoft.FSharp.Collections.Array
アセンブリ: FSharp.Core (FSharp.Core.dll 内)
// Signature:
Array.fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 [] -> 'T2 [] -> 'State
// Usage:
Array.fold2 folder state array1 array2
パラメーター
folder
型: 'State -> 'T1 -> 'T2 -> 'State入力要素を受け取って状態を更新する関数。
state
型: 'State初期状態です。
array1
型: 'T1[]最初の入力配列。
array2
型: 'T2[]2 番目の入力配列。
例外
例外 |
状態 |
---|---|
入力配列の長さが異なる場合にスローされます。 |
戻り値
最終状態。
解説
この関数は、コンパイルされたアセンブリでは Fold2 という名前です。F# 以外の言語から、またはリフレクションを使用してこの関数にアクセスする場合は、この名前を使用します。
使用例
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
出力
プラットフォーム
Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2
バージョン情報
F# コア ライブラリのバージョン
サポート: ポータブル 2.0、4.0