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.