【发布时间】:2012-04-06 13:31:53
【问题描述】:
我有一个名为 Student 的自定义数据类型,它有 2 个科目的分数。我创建了一个名为 average 的函数,它计算两个的平均值。一切正常。
我的问题是如何按平均水平对学生列表进行排序?
data Student = Student
{studentName :: String,
subject1 :: Double,
subject2 :: Double} deriving (Show)
average :: Student -> Double
average (Student _ sub1 sub2) = (sub1 + sub2) / 2
students :: [Student]
students = [Student "Dave" 50.0 40.0,
Student "Joe" 65.0 90.0,
Student "Ann" 75.0 82.0]
附:我是 Haskell 的初学者,不知道它是否有 内置平均功能,但如果我可以对我的列表进行类似的排序,我更喜欢 不使用内置平均函数(如果有的话)的方式 用于不同类型功能的小型测试解决方案 取而代之的是平均水平。
【问题讨论】:
标签: list sorting haskell types