【发布时间】:2020-11-19 01:55:35
【问题描述】:
我正在尝试将两个列表添加在一起并保留未使用的额外元素并将它们添加到新列表中,例如
addLists [1,2,3] [1,3,5,7,9] = [2,5,8,7,9]
到目前为止我有这个:
addLists :: Num a => [a] -> [a] -> [a]
addLists xs ys = zipWith (+) xs ys
但不确定如何将多余的元素添加到新列表中。
下一步是将其更改为采用组合函数的高阶函数 作为论据:
longZip :: (a -> a -> a) -> [a] -> [a] -> [a]
【问题讨论】:
-
看看
zipWith是如何实现的,并使用显式递归。 -
我坚持如何编写显式递归部分@WillemVanOnsem