IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Message d'erreur liste


Sujet :

Caml

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Message d'erreur liste
    Bonjour,
    j'aimerais comprendre pourquoi Caml me retourne ce message d'erreur ? List.hd n'est-il pas de type 'a ?
    Nom : coupleab.PNG
Affichages : 257
Taille : 11,7 Ko

  2. #2
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    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.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Cela se rapproche bien de ce que je voulais faire. Merci pour votre réponse

  4. #4
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut Avis à tous nos visiteurs
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur liste Indirect
    Par jobar38 dans le forum Excel
    Réponses: 0
    Dernier message: 28/05/2013, 10h26
  2. Réponses: 6
    Dernier message: 10/11/2012, 21h42
  3. Message d'erreur : Liste index out of bounds (-1)
    Par valer dans le forum Langage
    Réponses: 7
    Dernier message: 25/04/2008, 08h50
  4. Réponses: 4
    Dernier message: 11/05/2006, 11h28
  5. message d'erreur lors du choix ds 1 liste
    Par zorba49 dans le forum ASP
    Réponses: 1
    Dernier message: 08/09/2005, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo