Functional programming 列表l中的mappedList和x是什么?

Functional programming 列表l中的mappedList和x是什么?,functional-programming,f#,Functional Programming,F#,如果将列表l作为输入,那么mappedList和x是什么 let mapFold (f: 'a -> 'b) (l : List<'a>) : List<'b> = l |> List.fold (fun mappedList x -> f x :: mappedList) [] |> List.rev 让mapFold(f:'a->'b)(l:List)= l |>List.fold(有趣的mappedList x->f x::mapp

如果将列表l作为输入,那么mappedList和x是什么

let mapFold (f: 'a -> 'b) (l : List<'a>) : List<'b> =
    l |> List.fold (fun mappedList x -> f x :: mappedList) [] |> List.rev
让mapFold(f:'a->'b)(l:List)=
l |>List.fold(有趣的mappedList x->f x::mappedList)[]|>List.rev
lambda表达式(由
fun
关键字表示)定义文件夹函数,其类型为
'State->'T->'State
,其中State有时也称为累加器,缩写为
acc
'T
是列表
l
的元素类型

一个简单的例子:
(0[1..10])||>List.fold(fun acc x->acc+x)
其中0是状态(或acc)的初始值,
x
是列表的一个元素
[1..10]

为了回答您的问题,
mappedList
是状态或累加器,它具有初始值
[]
列表。空的
,和
x
是列表的一个元素
l
。折叠函数将从开始到结束顺序将文件夹函数应用于列表的每个元素“x”,在每次调用中更新并返回状态值,最后返回状态的最终值