【发布时间】:2015-11-20 21:12:58
【问题描述】:
我在向程序提供输入时尝试使用 id 函数应用 sum。但我在下面。非常感谢任何指导。
data Tree a = Leaf a | Node (Tree a) a (Tree a) deriving (Eq, Show)
reduce_tree :: Tree a -> (a -> b) -> (b -> a -> b -> b) -> b
reduce_tree (Leaf v) = [v]
reduce_tree (Node left root right) = reduce_tree left ++ [root] ++ reduce_tree right
输入如下:
ghci> reduce_tree (VNode (VLeaf 1) 2 (VNode (VLeaf 3) 4 (VLeaf 5)))
id sum
where sum t1 v t2 = t1 + v + t2
15
【问题讨论】:
-
我不明白你的问题,看起来它正在按预期工作......
-
@luqui:我想对树进行求和以使用以下函数类型列出但我不明白,reduce_tree :: Tree a -> (a -> b) -> (b - > a -> b -> b) -> b
-
@luqui :使用以下函数类型,我正在尝试对树进行总和以列出 reduce_tree :: Tree a -> (a -> b) -> (b -> a -> b - > b) -> b
标签: haskell