【发布时间】:2019-11-19 17:39:02
【问题描述】:
我对 Haskell 还是很陌生,我很好奇如何将两个 Hand 合并在一起,以便将第一只手放在第二只手之上。我希望它是一个中缀运算符,即 (
data Rank = Numeric Integer | Jack | Queen | King | Ace
deriving (Eq, Show)
data Suit = Hearts | Spades | Diamonds | Clubs
deriving (Eq, Show)
data Card = Card Rank Suit
deriving (Eq, Show)
data Hand = Empty | Add Card Hand
deriving (Eq, Show)
(<+) :: Hand -> Hand -> Hand
(<+) Empty Empty = Empty
(<+) h Empty = h
(<+) Empty h = h
(<+) h1 h2 = h1 ++ h2
到目前为止,我已经尝试过merge、append、mappend 和++,如上所示。
【问题讨论】:
-
你试过什么?你在哪里卡住了?
-
@JosephSible 抱歉,这实际上是我之前问过的问题,类似,但不一样。
-
@MichaelLitchard 更新
-
@JosephSible 我可以保证这是 Alex 想要问的问题,因为我是让他发布新问题的人。
标签: haskell enums haskell-platform