高人,
我必须为可以有多个节点的树定义多态数据类型。每个节点可以有任意数量的子节点和一个值。这种类型总是至少有一个节点。我是 Haskell 的新手,所以我问如何声明节点具有可变数量的参数。
这就是我现在所拥有的。这是一棵树,它可以有一个节点或一个具有值 (a) 的节点和两个子树。而不是两个树孩子,我希望他们成为任意数量的树孩子。(类比为 java 可变参数个数“arg ...”)
data Tree a = Node a | Node a (Tree a) (Tree a) deriving (Show)
谢谢你的帮助
编辑
一个小问题::: 我如何在函数参数(标题/签名)中使用可变参数声明这个节点。我必须实现一个名为
“contains”的函数,它将检查节点是否包含特定元素。
contains :: Tree a -> b -> Bool
contains (Node val [(tree)]) = ......
第二行正确吗?