2014-02-28 227 views
-2

我有一個函數,它可以對[Film]進行排序,並創建一個列表,其中包含指定的d,fnSortDHaskell將函數作爲另一個函數的參數調用

我有另一種功能,計算電影fnAvg的平均r

現在我需要找到d所有電影的平均評分。

我想通過使創建的所有d的所有影片平均收視率的一個列表中的另一個函數來啓動這個:fnLR :: String -> [Film] -> [Float]這樣我就可以然後輕鬆地與其它功能得到他們平均值。

這是我卡住的地方,我想用作fnLR的參數的電影列表是另一個函數fnSortD的輸出,我無法弄清楚我的生活如何使用作爲輸入參數,同時也能夠將電影數據類型分離爲其變量定義。

我希望這個問題不是太混亂,這當然令我困惑。

+0

顯示與您的問題相關的部分代碼。 –

+0

對不起,它對特定的'd'列表進行排序,因此只有具有'd'的影片纔在該列表中。 – Chillo

+0

如果你不用它來計算任何東西,那麼'dir'參數是什麼? –

回答

1

什麼你居然問是可解的平凡:

fnListAvgRatings :: [Film] -> [Float] 
fnListAvgRatings = map fnAvg . fnSortD 

以上的身體是一樣的:

fnListAvgRatings films = map fnAvg (fnSortD films) 

因爲

map fnAvg (fnSortD films) = (map fnAvg . fnSortD) films 

我dopped的dir參數,因爲它沒有做任何事情。

現在,由於該功能是如此微不足道,以至於它的身體需要儘可能多的符號作爲標題,所以如果我是你,我甚至不會打擾。

+0

我現在得到一個類型錯誤,因爲fnSortD是String類型 - > [Film] - > [Float],但它的預期類型是[Film] - > [Film] – Chillo

相關問題