Sdílet prostřednictvím


Složená funkce

Plně kvalifikovaný název: Std.Arrays.Fold

function Fold<'State, 'T>(folder : (('State, 'T) -> 'State), state : 'State, array : 'T[]) : 'State

Shrnutí

Iteruje funkci f prostřednictvím arraypole a vrací f(...f(f(initialState, array[0]), array[1]), ...).

Parametry typu

Stav

Typ stavů, na kterých funkce folder pracuje, tj. přijímá jako první argument a vrací.

'T

Typ array elementů.

Vstup

složka

Funkce, která se má přeložit přes pole.

stát

Počáteční stav složky.

pole

Pole hodnot, které se mají přeložit.

Výstup

Konečný stav vrácený složkou po iteraci všech prvků array.

Příklad

let sum = Fold((x, y) -> x + y, 0, [1, 2, 3, 4, 5]); // `sum` is 15.