3
私は2つの科目のためのマークを持つ学生という名前のカスタムデータ型を得ました。平均の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]
P.S.私はハスケルの初心者で、それが inbuilt平均関数を持っているかどうかわからないが、同じように の方法でリストをソートすることができれば、私は好む(これがあれば)inbuilt平均関数を使用せずにこの 代わりに異なるタイプの関数 を使用してください。
こんにちはデイブ、私は「輸入見つけることができませんというエラーを取得感謝モジュールData.Function "と私は何か手がかりを試したときにそれを修正する方法。あなたの助けを歓迎 –
@Ranisha GHCの最近の半分のバージョンを使用している場合は、Data.Functionが必要ですが、私は 'on'の定義を含めるように答えを編集しました。 – dave4420