Что такое mappedList и x из списка l? - PullRequest
0 голосов
/ 07 июля 2019

Что такое mappedList и x, если у вас есть список l в качестве входных данных?

let mapFold (f: 'a -> 'b) (l : List<'a>) : List<'b> =
    l |> List.fold (fun mappedList x -> f x :: mappedList) [] |> List.rev

1 Ответ

2 голосов
/ 07 июля 2019

Лямбда-выражение (обозначается ключевым словом 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» списка в последовательности от начала до конца, обновляя и возвращая значение состояния при каждом вызове, и, наконец, возвращая окончательное значение состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...