Bonjour,
j’essaie d’écrire une fonction qui échange deux éléments d’une liste en ocaml. elle prend en paramètre une liste et deux indices,
Voici ce que j’ai fait je ne retrouve pas l’erreur .
recherche_indice t l
renvoie l’indice de l’élément t dans la liste l
element_indi l i
renvoie l’élément à l’indice i
ces deux fonctions fonctionne correctement
1 2 3 4 5 6 7 8 9 10 11 12 13 | let echange l a b = let rec ech l1 l3 a b =match l3 with |[] -> l1 |(t::l2)-> match (recherche_indice t l) with |a-> ech ((element_indi l b)::l1) l2 a b |b-> ech ((element_indi l a)::l1) l2 a b | _ ->ech (t::l1) l2 a b in ech [] l a b ;; ` |
quand je l’exécute avec echange ['b';'c';'d'] 3 1;;
ce la me renvoie [b,b,b] et si je change les indices ce la me renvoie [c,c,c] ou [d,d,d]
et quand je compile j’ai cette erreurs this match case is unused. en faisant référence à la ligne a-> et b->
merci d’avance pour votre aide.
+0
-0