导出代数数据类型的显示

Ara*_*yan 0 haskell types

我有以下类型:

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
Run Code Online (Sandbox Code Playgroud)

我怎样才能展示JCard?目前我明白了No instance for (Show JCard)

Tho*_*son 10

只需JCard按照您的方式获取节目JokerColor.

data JokerColor = Red | Black deriving Show
data JCard = NormalCard Suit Rank | JokerCard JokerColor deriving Show
Run Code Online (Sandbox Code Playgroud)

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