J'essaie d'utiliser des fonctions de récursion et d'ordre supérieur pour faire quelque chose au premier élément d'une liste, puis à tous les autres éléments de la liste, par exemple ajouter 3 au 1er , 3ème, 5ème .. etc.Erreur de modèle non exhaustive dans la fonction récursive
Le problème que je rencontre est qu'il me donne l'erreur non-exhaustive pattern
. Toute aide serait appréciée. Voici ce que j'ai jusqu'à présent:
applyToEveryOther :: (a -> b) -> [a] -> [b]
applyToEveryOther _ [] = []
applyToEveryOther f (x:y:xs) = f x : applyToEveryOther f xs
et ceux-ci sont quelques lignes supplémentaires que je l'ai essayé, mais ne contribuent pas à:
applyToEveryOther _ [x] = f x
applyToEveryOther f [x] = f x
Copie possible de [Haskell: Double tous les 2 éléments dans la liste] (https://stackoverflow.com/questions/17383169/haskell-double-every-2nd-element-in-list) – cdk