2012-03-11 69 views
0

我有以下几种类型:推导查看代数数据类型

data Suit = Club | Diamond | Heart | Spade deriving Show 
data Rank = R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 | Jack | Queen | King | Ace deriving Show 
data JokerColor = Red | Black deriving Show 
data JCard = NormalCard Suit Rank | JokerCard JokerColor 

我怎么能显示JCard?目前我得到No instance for (Show JCard)

回答

10

只需按照JokerColor的方法推导出JCard

data JokerColor = Red | Black deriving Show 
data JCard = NormalCard Suit Rank | JokerCard JokerColor deriving Show 

对于大多数类型,人们通常派生Eq,Ord和Show。

+1

谢谢!我以前得到无关的错误,并认为这个语法是不正确的... – 2012-03-11 15:56:16