如何在 Haskell 中将两手牌合并在一起?

How to merge two hands of cards together in Haskell?

我对 Haskell 还是很陌生,我很好奇如何将两个 Hand 合并在一起,这样第一只手就放在二手。我希望它是一个中缀运算符,即 (<+)。这里有一些代码可以帮助你。我一直收到错误提示 "The type signature for ‘<+’ lacks an accompanying binding".

data Rank = Numeric Integer | Jack | Queen | King | Ace

data Suit = Hearts | Spades | Diamonds | Clubs

data Card = Card Rank Suit

data Hand = Empty | Add Card Hand

(<+) :: Hand -> Hand -> Hand
h1 (<+) h2 = undefined

非常感谢您提供的任何建议。

定义应该是

h1 <+ h2 = undefined

(<+) h1 h2 = undefined

您目前正在尝试将函数名称用作中缀运算符。