私は以下の型持って追加:ハスケル - 選択的にリスト
type Rating = (String, Int)
type Film = (String, String, Int, [Rating])
testDatabase :: [Film]
testDatabase = [("Director 1","Film 1",2012,[("TestRat",8)]),("Director 2","Film 2",2,[])]
を私はディレクターの平均評価は組み合わせた彼らの映画のすべてに基づいて、その後、すべての彼らの評価を合わせているかを調べる必要があります。私は本当にこれにアプローチする方法が全く分かりませんでした。フィルムのタプルの平均を取得するだけで、すべてのものを処理することはできませんでした。平均値を操作するための
マイコード:
filmRating :: [(String,Int)] -> Float
filmRating ratings = average (map snd ratings)
average ratings = realToFrac (sum ratings)/genericLength ratings
...非常に便利ですか!統計を計算する関数、またはデータをどのように分割するのか? –
すべてのディレクターの評価を1つのリストにまとめることができれば、残りの作業はできますが、1つのリストに分割する方法はわかりません。 – JamieB
ここで便利な機能は、 'filter'(特定のディレクターによる映画のみを選択する)と' concat'(格付けのリストを格付けのリストにする)です。 – dave4420