Поделиться через


Свертка функции

Полное имя: 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]), ...).

Параметры типа

"Состояние

Тип состояний, с которым работает функция folder, то есть принимается в качестве первого аргумента и возвращается.

'T

Тип элементов array.

Ввод

папка

Функция, сложенная по массиву.

государство

Начальное состояние папки.

массив

Массив значений, которые нужно сложить.

Выпуск

Окончательное состояние, возвращаемое папкой после итерации всех элементов array.

Пример

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