【发布时间】:2016-09-07 08:34:02
【问题描述】:
我正在编写一个函数来为列表中的下两个元素应用一个函数。
例如:applyToTwo (+) [1,2,3,4] 返回[3,5,7]。
applyToTwo (-) [7,1,1,1,1]返回[6,0,0,0]。
我想概括该类型,以便它可以应用于我想要的任何类型。我的尝试是:
applyToTwo :: (a -> a -> b) -> [a] -> [a]
applyToTwo f [] = []
applyToTwo f [x] = []
applyToTwo f (x:x1:rest) = f x x1 ++ applyToTwo f (x1:rest)
顺便问一下,有没有办法概括要应用的元素的数量,以便它可以应用于 3、4、5?
【问题讨论】: