如何使用zipWith(+)添加两个数据类型[[double]]的列表?

时间:2019-03-29 03:43:12

标签: haskell zipwith

我正在Haskell中这样做。我试图添加两个列表来收集,并且我正在使用zipWith函数来做到这一点。但是数据类型与我的add函数不匹配。

这就是我尝试过的

add :: [[Double]] -> [[Double]] -> [[Double]]
add = zipWith []
where zipWith :: (a -> b) -> [a] -> [b]
zipWith _ [] = []
zipWith [] _ = []
zipWith (+) (x:xs) (y:ys) = (+) x y : zipWith (+) xs ys

我想添加两个这样的列表

add [[1,2],[3,4]] [[10,20],[30,40]]
    [[11,22],[33,44]]

1 个答案:

答案 0 :(得分:2)

zipWith (zipWith (+))

我认为不需要进一步的解释了吗?