【发布时间】:2015-10-23 00:17:20
【问题描述】:
首先,我想让你们都知道我对 Haskell 还很陌生,所以为了增加知识等,我一直在尝试问题,但我很困惑。我想我快到了,但如果能提供一些更有经验的建议,我们将不胜感激。问题来了:
运动队由其名称和他们在上一场比赛中得分的数量表示,例如("Newcastle",[3,3,3,0])。该数据由类型定义建模:
type TName = String
type Points = [Int]
type Team = (TName,Points)
据此,我必须定义以下函数,如果他们的积分总和更大,则将一个团队的排序高于另一团队:
sortPoints :: [Team] -> [Team]
这是我尝试过的:
sortPoints :: [Team] -> [Team]
sortPoints [_,()] -> []
sortPoints [_,(x:xs)] = sum[x|x<-xs]
一旦我到达这里,我不太确定如何添加条件来检查积分总和,任何指针将不胜感激,因为我仍在接受许多 Haskell 功能。
【问题讨论】:
-
查看hoogle 并搜索:
sortBy、compare、on和snd- 您可以将它们拼在一起以获得您想要的东西(一起拼图我真的在谈论作曲) -
@Carsten:这可能是一个答案。 :D
-
@Zeta yours 有更多信息;) (+1)
-
@Carsten:不过,这已经成为一种习惯:你 post a comment,我根据该评论写了一个社区 wiki 答案:D。
标签: function haskell types definition