Partilhar via


Função Fold

Nome totalmente qualificado: Std.Arrays.Fold

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

Resumo

Itera uma função f através de uma matriz array, retornando f(...f(f(initialState, array[0]), array[1]), ...).

Parâmetros de tipo

«Estado

O tipo de estados em que a função folder opera, ou seja, aceita como seu primeiro argumento e retorna.

«O

O tipo de elementos array.

Entrada

pasta

Uma função a ser dobrada sobre a matriz.

Estado

O estado inicial da pasta.

matriz

Uma matriz de valores a ser dobrada.

Realização

O estado final retornado pela pasta depois de iterar sobre todos os elementos do array.

Exemplo

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