0
伯爵表我有一个数据结构,这样的:任何对象
data MultTree b = DataNode b | IndexNode Int Int [MultTree b] deriving (Show)
对于该结构工作递归我需要计算一个列表对象的功能。对于任何类型的对象是否有普适的一个?
我的编译器只接受民作为一个参数:
countList :: (Num) => [a] -> a
countList [] = 0
countList (x:xs) = 1 + countList xs
那么只是'长度'呢? – Carcigenicate
那么,你是对的,这将是一个选项。另一方面,我想看看我可以自己做这个功能 – jublikon
并删除'(Num)=>'。你写它的方式看起来是非法的,并且Typeclass限制是不必要的,因为你从不直接使用这些元素。只需将签名更改为'countList :: [a] - > Integer',因为您有任何列表,并且想要返回一个数字。 – Carcigenicate