Лямбда-выражение (обозначается ключевым словом fun
) определяет функцию папки, которая имеет тип 'State -> 'T -> 'State
, где State также иногда называют аккумулятором, сокращенно acc
.И 'T
- это тип элемента списка l
.
Простой пример: (0, [1..10]) ||> List.fold (fun acc x -> acc + x)
, в котором 0 - начальное значение состояния (или соотв.), А x
-элемент списка [1..10]
.
Итак, чтобы ответить на ваш вопрос, mappedList
- это состояние или аккумулятор, который имеет начальное значение []
или List.empty
, а x
- элементсписка l
.Функция сгиба будет применять функцию папки к каждому элементу «x» списка в последовательности от начала до конца, обновляя и возвращая значение состояния при каждом вызове, и, наконец, возвращая окончательное значение состояния.