3
我得到了一个名为Student的自定义数据类型,其中有2个主题的标记。我创建了一个名为average的函数来计算两个函数的平均值。一切正常。Haskell数据类型排序列表
我的问题是如何根据他们的平均值排序学生列表?
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]
P.S.我在Haskell一个初学者,不知道它是否有一个内置 平均的功能,但我更喜欢,如果我不使用内置的平均函数(如果有),因为这 小试,中分类我类似的 方式列表可以使用不同类型的功能 代替平均值。
喜戴夫,谢谢,我得到一个错误说“找不到进口模块Data.Function“当我尝试任何线索为什么如果是的话如何纠正它。感谢您的帮助 – 2012-03-22 09:23:36
@Ranisha如果您正在使用最新版本的GHC,它应该带有Data.Function,但我已经编辑了我的答案以包含'on'的定义。 – dave4420 2012-03-22 15:09:49