[英]Adding a tuple in a list of tuples
我正在尝试为多米诺骨牌游戏编写一个函数,该函数可以获取分数(西方的5,3s),但是我似乎无法获得正确的语法,但是我有个主意
码:
type Domino = (Int,Int)
type Line = [Domino]
score :: Line -> Domino
score [] = 0
score line
| (a,b):line = (a+b) + (score line)
问题是因为line是一个元组列表,我不知道如何表示列表的头和尾并添加它们
在对五分之三的多米诺评分进行了少量研究之后,我想您想添加列表中第一个元组的第一个成分和列表中最后一个元组的第二个成分(这样[(3,2),(2,6),(6,1),(1,4)]
的得分为3 + 4 = 7)。
将其转换为Haskell很简单:
score [] = 0
score dominoes = fst (head dominoes) + snd (last dominoes)
head
和last
的使用不会在空列表上崩溃,因为我们已经匹配了这种情况。
不过,可能是我完全误解了得分规则,而这并没有引起注意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.