我需要一些帮助来实现一个 Haskell 函数,该函数应该进行扑克牌匹配 - 即“黑桃 A”、“方块 2”、“红心 J”。请注意,“s”的复数不能是 Suit 中构造函数名称的一部分。
参考:http ://en.wikipedia.org/wiki/Standard_52-card_deck#Rank_and_color
到目前为止,这是我的代码:
data Suit = Club | Diamond | Heart | Spade
deriving (Show, Ord)
data Rank = Ace | Zwei | Drei | Vier | Fuenf
| Sechs | Sieben | Acht | Neun | Zehn
| Jack | Queen | King
deriving (Show, Enum, Read, Eq, Ord)
data Card = Card {rank :: Rank,
suit :: Suit}
deriving (Show, Read, Ord)
所需的函数应该是“match :: Card ->String”类型,产生类似“Ace of Diamond+“s””的消息