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 :

Questions débutant oCaml


Sujet :

Caml

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Questions débutant oCaml
    Bonsoir, je débute la programmation ocaml en cours et j'ai des questions concernant cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    let etoile n = 
      let res =String.create n in 
        for i = 0 to n-1 do 
          res.[i]<-'*'
        done;
      res;;
    J'aimerai tout simplement crée une nouvelle variable qui serai un string que j'appelerai "espace" comme pour "res". Mais je vois pas du tout comment faire.

    Et à quoi sert le Merci d'avance !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 104
    Points : 84
    Points
    84
    Par défaut
    Salut,

    Pour ajouter une variable de la même façon que pour res, tu peux imbriquer les let ... in. Donc ici ça donnerait quelque chose dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    let etoile n = 
      let res =String.create n in
      let espace = ' ' in
        for i = 0 to n-1 do 
          res.[i]<-'*'
        done;
      res;;
    En ce qui concerne le res final, il permet de rendre "visible" la variable, tu crées ta chaîne et la fonction etoile renvoit cette chaîne (comme un return dans un langage comme le C).

    À bientôt.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse,

    effectivement j'avais déjà essayer cela, apparemment cela fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    let etoile n = 
      let res =String.create n in 
      let espace = ' ' in
        for i = 0 to n-1 do 
          res.[i]<-'*'
        done;
      res;;
    Par contre j'aimerai jouer sur la chaine de caractère "espace" comme pour "res"

    Par contre la il n'aime pas, il me met l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Error: Syntax error: ']' expected
    File "etoile.ml", line 16, characters 13-14:
    Error: This '[' might be unmatched
    Le C++ est finalement plus facile lol ...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 104
    Points : 84
    Points
    84
    Par défaut
    Re,

    Le C++ plus facile ? Je ne sais pas, je n'en ai jamais fait. Mais il a la réputation d'être l'un des langages les plus complexes à apprendre.

    Pour ce que tu essayes de faire, c'est normal que cela ne fonctionne pas. Ta variable espace a le type char. Or tu essayes de la traiter comme une chaîne de caractère. Assure toi que ce que tu fais soit bien cohérent ;-)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Points : 39
    Points
    39
    Par défaut String.Make ?
    Dis moi, ce que tu essayes de faire, ce n'est pas juse de créer une chaîne de n fois le même caractère des fois ? Un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let etoile n = String.Make n '*'
    doit faire l'affaire, non ?
    Et que veux tu faire avec ton espace ?

Discussions similaires

  1. Question débutant: Affiche vertical et horizontal
    Par Hijack54 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 09/02/2007, 13h24
  2. Réponses: 18
    Dernier message: 04/04/2006, 14h31
  3. question débutant xsl
    Par irnbru dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/03/2006, 18h20
  4. Question débutant ...
    Par Lypertrophie dans le forum Débuter
    Réponses: 4
    Dernier message: 25/10/2005, 19h00
  5. Réponses: 3
    Dernier message: 26/05/2004, 23h03

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