【发布时间】:2019-07-26 19:03:45
【问题描述】:
我写了一个中序树遍历函数:
let rec inOrder (tree: BinTree<'a>) : 'a list =
match tree with
| Leaf -> []
| Node(x,l,r) -> (inOrder l) @ [x] @ (inOrder r)
现在我想使用这个函数来“映射”所有的音符,并应用一个作为参数给出的函数。它应该接受一个函数和一棵树,然后返回一棵树。这是我目前所拥有的:
let mapInOrder f t =
inOrder t
|> Map.ofList
例如,如果我给函数这个输入:
mapInOrder float (Node(1,Node(2,Leaf,Leaf),Node(3,Leaf,Leaf)));;
我想要输出:
(Node(1.0,Node(2.0,Leaf,Leaf),Node(3.0,Leaf,Leaf)))
【问题讨论】:
标签: .net functional-programming f#