Bonjour,
j'aimerais comprendre pourquoi Caml me retourne ce message d'erreur ? List.hd n'est-il pas de type 'a ?
Bonjour,
j'aimerais comprendre pourquoi Caml me retourne ce message d'erreur ? List.hd n'est-il pas de type 'a ?
Bonjour,
Et bienvenue sur les forums de developpez.net
D'abord permet moi de réécrire ton code en n'utilisant pas les fonctions partielles que sont List.hd et List.tl, car, comme leur nom l'indique les fonctions partielles peuvent déclencher des erreurs à l'exécution.
Code OCaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let rec couple a b = match a,b with (* ce filtrage est incomplet *) | [],[] -> failwith "couple" | [c],[d] -> [c;d] | ha::ta,hb::tb -> [ha;hb]::(couple ta tb);;
Je vais te proposer une version correctement typée :
Code OCaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let rec couple a b = match a,b with (* ce filtrage est complet *) | [],l | l,[] -> l | [c],[d] -> [c;d] | ha::ta,hb::tb -> ha::hb::(couple ta tb);;
À ta charge de comprendre pourquoi celle-ci est correcte alors que la précédente ne l'est pas.
Par contre elle ne fait pas forcément exactement ce que tu voulais.
Là aussi, à toi de voir (ou de nous dire) ce que tu voulais exactement.
Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
Avant de poser une question je lis les règles du forum.
Cela se rapproche bien de ce que je voulais faire. Merci pour votre réponse
Je profite de ton arrivée sur nos forums pour rappeler à tous quelques consignes de bonne conduite :
- quand c'est on clique le bouton du même nom
- quand on est d'accord avec la réponse ou qu'on lui trouve une valeur ajoutée on clique
Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
Avant de poser une question je lis les règles du forum.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager