我想寫一個函數,當給出兩個數字和他們屬於的列表時,將計算這些數字(值)之間的所有內容。對通過某個測試的子列表執行操作
例如:
averageBetween 4 8 [1,2,8,2,7,2,4,6] =平均[4,6,7,8] = 6,25
我已經設法到目前爲止做的是:
average::[Int]->Double
average [] = 0
average xs = (fromIntegral (sum xs))/(fromIntegral (length xs)
averageBetween::Int->Int->[Int]->Double
averageBetween a b xs
現在我有點卡住了,我真的不能想出一個辦法來「過濾器」我的名單。任何幫助,將不勝感激。 〜
爲什麼你確實不使用'filter'作爲預處理步驟?正如'averageBetween list = postProcess $ filter(\ x - > somePredicateOn x)list' – chi
是的,謝謝。 – Rad