Опишите функцию правой свертки foldr(f,v,a)
, где f
- бинарная функция-комбинатор, v
- начальное значение, a
- объект Array
.
Функции семейства fold "сворачивают" последовательность в одно значение, вызывая функцию-комбинатор для каждого элемента последовательности и промежуточного итога.
Буква r в имени foldr
обозначает right - правый. Это значит, что свертка начинается с конца последовательности. Например, код foldr(f, 0, [1,2,3])
эквивалентен f(1, f(2, f(3, 0)))
. В случае, если последовательность пуста, foldr
возвращает начальное значение, заданное аргументом v
.