data BTree a = Empty | Node a (BTree a) (BTree a) deriving Show
type Aluno = (Numero,Nome,Regime,Classificacao)
type Numero = Int
type Nome = String
data Regime = ORD | TE | MEL deriving Show
data Classificacao = Aprov Int| Rep| Faltou deriving Show
type Turma = BTree Aluno
我有這個功能,計算有多少「Alunos」有Regime TE。我怎樣才能比較變量與Haskell中的數據類型?
我的代碼:
numeroT :: Eq => Turma -> Int
numeroT Empty = 0
numeroT (Node (x,_,r,_) e d) = if (r==TE) then 1+((numeroT e)+(numeroT d))
else (numeroT e)+(numeroT d)
我不能用TE比較r
?獲取Eq
錯誤。
在未來,請當你遇到這樣的問題,增加了整個錯誤消息。 「'Eq'錯誤」可能是很多完全不同的東西。 – leftaroundabout 2015-02-08 17:08:52
感謝您的提示。我的第一個問題。抱歉。 – 2015-02-08 17:52:56