Le code suivant dosn't compilez:Aide dans la résolution de ce code dans Haskell
reindex :: (a -> a) -> [a]
reindex [] = []
reindex f y = let x = (zip [0..] y)
z = [(f m) |el <- x, let m = fst el]
[n !! y | n <- z, (n !! y) > -1]
je reçois une des erreurs suivantes:
a)
parse error on input `['
b)
parse error on input `]'
J'ai essayé d'insérer quelques-uns tandis que les espaces ou Infront retour de la dernière ligne mais ça ne marche pas. Cela me rend plus contrarié parce que je ne sais pas vraiment ce qui se passe.
Besoin d'aide
MISE À JOUR
réindexation prend une fonction et une liste d'arguments. Il prend les index de la liste un par un et lui applique la fonction pour générer un nouvel index. Il utilisera les nouveaux index générés pour extraire les valeurs de la liste d'origine pour former une nouvelle liste. Si un nouvel index est en dehors des limites de la liste d'origine, ce numéro est ignoré.
exemples:
Main> reindex (\x -> x + 1) [3,4,5]
[4,5]
Main> reindex (\x -> x - 2) [3,4,5]
[3]
mises à jour ajouté à la publication – Kap
Je crois 'n !! y' est supposé indexer en 'y' à la position' n'. C'est à dire.il ne pensait pas que «y» était un nombre, il confondait l'ordre des opérands à «!!». – sepp2k
Merci pour votre réponse – Kap