目前我有卡片列表,现在我想在另一个列表中显示所有可能的卡片对。
例如:[(Card Club R2, Card Heart R3), (Card Club R2, Card Heart R4), (Card Club R2, Card Heart R5), (Card Club R2, Card Heart R6).........]
。
总结果可能是1326个不同的对
答案 0 :(得分:2)
只做
[ (c1, c2) | c1 <- allCards, c2 <- allCards, c1 /= c2 ]
但如上所述,这将返回2652对。
要将此值重写为1326对,要么按照Zeta的建议,要么将Ord
添加到Card
:
[ (c1, c2) | c1 <- allCards, c2 <- allCards, c1 < c2 ]