Functional programming 树型递归映射函数
假设我有以下树类型:Functional programming 树型递归映射函数,functional-programming,f#,Functional Programming,F#,假设我有以下树类型: 键入T这里有一个提示。这是一个尾部递归映射函数 let mapTR f l = let rec loop acc = function | [] -> List.rev acc | x::xs -> loop (f x::acc) xs loop [] l 当定义显示为列表时,为什么将其称为树类型?答案中的好提示:使用带有累加器的helper函数。它是一种具有可变数量子树的
键入T这里有一个提示。这是一个尾部递归映射函数
let mapTR f l =
let rec loop acc = function
| [] -> List.rev acc
| x::xs -> loop (f x::acc) xs
loop [] l
当定义显示为列表时,为什么将其称为树类型?答案中的好提示:使用带有累加器的helper函数。它是一种具有可变数量子树的树类型。总之,我得到了答案。我明白了,sbs
就像子树(或者子树
)。我想我已经习惯了在更大(更多人)的代码库中使用更长的名字。
let mapTR f l =
let rec loop acc = function
| [] -> List.rev acc
| x::xs -> loop (f x::acc) xs
loop [] l