【发布时间】:2017-10-22 13:09:45
【问题描述】:
我正在尝试使用递归和高阶函数对列表的第一个元素执行某些操作,然后对列表中的所有其他元素执行操作,例如,将 3 添加到第一个、第三个、第五个......等。
我遇到的问题是它给了我non-exhaustive pattern 错误。任何帮助,将不胜感激。这是我到目前为止所拥有的:
applyToEveryOther :: (a -> b) -> [a] -> [b]
applyToEveryOther _ [] = []
applyToEveryOther f (x:y:xs) = f x : applyToEveryOther f xs
这些是我尝试过但没有帮助的一些附加行:
applyToEveryOther _ [x] = f x
applyToEveryOther f [x] = f x
【问题讨论】: