我有一个非常简单的data
,我想使用Show
Typeclass给它一个很好的输出。
data Fruit = Apple | Orange Int
instance Show Fruit
where
show Apple = "Hey Apple"
show Orange a = "X number of Orange"
这会出现以下错误,但我不知道如何修复它:
Equations for `show' have different numbers of arguments
答案 0 :(得分:8)
你刚忘了一些问题:)
instance Show Fruit where
show Apple = "Hey Apple"
show (Orange a) = show a ++ " number of Orange"
像Orange a
这样的模式需要使用parens消除歧义,例如Apple a
,我们确实有两个参数。