Bonjour a tous,
J'ai quelques soucis concernant un exercice de caml.
J'ai une liste de ce genre
Code :
- let l = [("Hugo", 42.);("Moro",89.);("Zoro",1.)
|
Et je dois ecrire une fonction du type:
Code :
- string- > string -> (string *'a) list -> (string * 'a) list = <fun>
|
Qui servirait a remplacer le nom d'une personne dans la liste par un autre nom et que ce changement soit classe par ordre alphabétique.
J'ai le droit d'utiliser la fonction :
J'ai fini mon code mais rien ne change dans la liste:
Code :
- let rec change_name ancien_nom nouveau_nom l =
- let ancien_nom = String.lowercase ancien_nom and nouveau_nom = String.lowercase nouveau_nom in
- match l with
- |[]-> []
- |(m,w)::l when m = ancien_nom -> (nouveau_nom,w)::l
- |(m,w)::l when m > ancien_nom -> (m,w)::l
- |(m,w)::l when m < ancien_nom -> (m,w)::(name ancien_nom nouveau_nom l);;
|
Merci d'avance..
Message édité par rideronix le 17-10-2012 à 19:35:51