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 :

Débutant sur Caml


Sujet :

Caml

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Débutant sur Caml
    Bonjour j'ai essayé d'écrire une fonction prenant en argument un tableau et
    qui détermine s'il est croissant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    let croissant tab = if Array.length tab=0 then failwith "ni croissante ni décroissante" 
     else
     for i = 1 to Array.length tab -1 do
     
       if tab.(i-1)<= tab.(i) then true else false done ;;
    sauf que cette fonction renvoie un type unit () et je voudrai qu'elle renvoie un bouléen.

    Voila et merci d'avance pour vos réponse

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    La boucle d'OCaml renvoie nécessairement un type Regardez le module d'OCaml, vous devriez y trouver des fonctions qui vous intéressent. Sinon, si vous voulez nécessairement le faire dans une boucle alors il vous faudra utiliser une exception ou une référence.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci , j'ai fini par utilisé une référence et ca m a donné ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    let croissant tab = let p = ref true in
     for i=1 to Array.length tab-1 do 
      if tab.(i-1)<= tab.(i) && !p then p:= true else p:= false done; p;;

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Points : 172
    Points
    172
    Par défaut
    Je pense qu'à la fin vous voulez renvoyer !p, pas p

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui. Merci beaucoup pour votre aide!

Discussions similaires

  1. débutant sur dev++
    Par artotal dans le forum Dev-C++
    Réponses: 12
    Dernier message: 28/08/2005, 15h09
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. Pb de débutant sur les pointeurs!!!
    Par benji17c dans le forum C
    Réponses: 6
    Dernier message: 30/09/2003, 17h50
  4. [Kylix] Re Re: débutant sur Kylix et Linux.....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/06/2002, 22h53
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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