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

Scheme Discussion :

Corps d'une fonction avec plusieurs expressions


Sujet :

Scheme

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 53
    Points
    53
    Par défaut Corps d'une fonction avec plusieurs expressions
    Bonjour,

    Je débute sous scheme, et j'essaie de faire un petit programme (sous DrScheme) qui demande à l'utilisateur d'entrer 2 informations et produit un résultat après.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    (define (prixTTC6)
        ((display "Entrer le prix hors taxe : ")
         (let ((prixHT (read)))
           ((display "Entrer le taux de TVA : ")
            (let ((TVA (read)))
              ((display "Prix HT     : ")
               (display prixHT)
               (newline)
               (display "TVA         : ")
               (display TVA)
               (newline)
               (display "------------------------")
               (newline)
               (display "Prix TTC    : ")
               (display (* prixHT (+ 1 (/ TVA 100))))
               (newline)))))))
    ça fonctionne, mais j'ai un message d'erreur que je ne comprends pas :

    procedure application: expected procedure, given: (void); arguments were: (void) (void) (void) (void) (void) (void) (void) (void) (void) (void)

    Je remarque qu'en fait, quand je fais une fonction qui contient 2 expressions indépendantes dans le corps j'ai la meme erreur et parfois ça marche meme pas!

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > (define (test0)
        ((display "Bonjour ")
         (display "Le monde !")))
    > (test0)
    Bonjour Le monde !procedure application: expected procedure, given: (void); arguments were: (void)
    Donc ma question est de savoir comment mettre plusieurs expressions indépendantes entre elles, dans le corps d'une fonction en scheme.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Il faut mettre begin au debut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (define (test0)
        (begin
         (display "Bonjour ")
         (display "Le monde !")))

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup.

    C'est ce qu'il me fallait ...

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

Discussions similaires

  1. Appel d'une fonction avec plusieurs paramètres
    Par kazarn dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/06/2009, 18h55
  2. créer une fonction avec plusieurs paramètres
    Par SHERPAE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/01/2009, 17h41
  3. Appel d'une fonction avec plusieurs variables
    Par midoparis dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/05/2008, 11h53
  4. Réponses: 3
    Dernier message: 25/07/2006, 09h25
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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