Fold 関数
完全修飾名: Std.Arrays.Fold
function Fold<'State, 'T>(folder : (('State, 'T) -> 'State), state : 'State, array : 'T[]) : 'State
概要
配列 f
を介して関数 array
を反復処理し、f(...f(f(initialState, array[0]), array[1]), ...)
を返します。
型パラメーター
'State
folder
関数が操作する状態の型。つまり、最初の引数として受け入れて返します。
'T
array
要素の型。
インプット
フォルダ
配列の上に折りたたまれる関数。
状態
フォルダーの初期状態。
配列
折りたたむ値の配列。
アウトプット
array
のすべての要素を反復処理した後にフォルダーによって返される最終的な状態。
例
let sum = Fold((x, y) -> x + y, 0, [1, 2, 3, 4, 5]); // `sum` is 15.