【发布时间】:2011-01-23 21:46:07
【问题描述】:
假设我想在 Haskell 中添加两个列表。最常用的方法是什么?
这就是我所做的:
addLists :: (Integral a) => [a] -> [a] -> [a]
addLists xs ys = map add $ zip xs ys
where add (x, y) = x+y
【问题讨论】:
-
顺便说一句:
add = uncurry (+)。另请注意,zipWith的答案是Hoogle 查询(a -> b -> c) -> \[a\] -> \[b\] -> \[c\]的第一个命中。 -
感谢ehemient,下次我先试试Hoogle。
-
@TomMD,我不明白你评论的第一部分。
-
@FarmBoy:TomMD 表示
(Integral a) => [a] -> [a]是错误的。(Integral a) => [a] -> [a] -> [a],或者更一般的(Num a) => [a] -> [a] -> [a],会是。
标签: haskell nested-lists