Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想要一个函数,它给我一个给定列表中所有列表的所有头部的总和。我正在尝试这个:
verticalParity :: [Int] -> [Int] -> Int verticalParity (x:xs) (y:ys) = x + y
为什么我不能这样做?
map verticalParity [[2,0,2,2,2,1], [5000,0,2,3,2,1], [26,1,2,3,44,4]]
这将做你所描述的
sum . map head
您发布的功能不起作用,因为您要完成的不是地图,而是折叠(其中 sum 是一个示例)。
您还可以将您的 verticalParity 函数更改为此
verticalParity :: Int -> [Int] -> Int verticalParity x (y:ys) = x + y
并使用它
foldl verticalParity 0 [[2,0,2,2,2,1],[5000,0,2,3,2,1],[26,1,2,3,44,4]]