我对 Haskell 很陌生,因此对它不是很熟悉。
下面的方法是测量a的大小MultTree
。
AMultTree
包括Index
包含两个Int
的节点,并且可以有任意数量的子节点。然后还有Data
包含一个Int
且不能有子节点的节点。那么方法应该确定的是,最长的“分支”有多长。
到目前为止我的方法:
data MultTree a = Index a a [MultTree a] | Data a deriving Show
size :: MultTree a -> Int
size (Index a b []) = 1
size (Index a b [Index c d [e]]) = size (Index c d [e]) + 1
它确实可以编译,但是在尝试使用它时,我得到"non-exhaustive patterns in function size"
. 即使我不会得到那个错误,我也知道它不会按照我想要的方式工作。
但不知何故,我无法想出解决问题的办法。
我将不胜感激各种帮助。
已经提前谢谢你了!