我有一个功能可以对[Film]
进行排序,并创建一个包含指定d
,fnSortD
的列表。
我还有另一个功能可以计算电影r
的平均fnAvg
。
现在我需要找到d
所有电影的所有平均评分的平均值。
我想通过创建另一个函数来开始这个,该函数为d
:fnLR :: String -> [Film] -> [Float]
所有电影创建所有平均评分的列表,这样我就可以轻松获得它们的平均值与另一个功能。
这就是我被困的地方,我想用作fnLR
的参数的电影列表是另一个函数fnSortD的输出,我无法弄清楚我的生活如何使用它作为输入参数,同时还能够将电影数据类型分离为其变量定义。
我希望这个问题不会太混乱,这肯定让我感到困惑。
答案 0 :(得分:1)
你实际要问的是可以解决的问题:
fnListAvgRatings :: [Film] -> [Float]
fnListAvgRatings = map fnAvg . fnSortD
上述内容与:
相同fnListAvgRatings films = map fnAvg (fnSortD films)
因为
map fnAvg (fnSortD films) = (map fnAvg . fnSortD) films
我已经掺杂了dir
参数,因为它没有做任何事情。
现在因为这个功能是如此微不足道,以至于它的身体需要尽可能多的符号,如果我是你的话,我甚至都不会去理解它。