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