-6 haskell
编写一个更高阶的函数,atEach f xs将默认函数f应用于列表的每个元素xs.
atEach succ [1 to 5] = [2,3,4,5,6]
atEach length ["Haskell", "go", "forward"] = [7,5,8]
Run Code Online (Sandbox Code Playgroud)
正如dave4420已经指出的那样,您atEach似乎是标准map功能(如果没有,请澄清).如果是这种情况,您可以采用不同的方式来实现它,例如:
-- direct recursion
atEach _ [] = []
atEach f (x:xs) = ???
-- list comprehension
atEach f xs = [??? | x <- xs]
--using a fold
atEach f = foldr ??? []
Run Code Online (Sandbox Code Playgroud)
我不想破坏乐趣,所以你可以尝试填写???.