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 :

Probleme de syntaxe


Sujet :

Caml

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 49
    Points : 34
    Points
    34
    Par défaut Probleme de syntaxe
    Bonjour.
    Je veux faire une fonction qui calcule les solutions d'une equation du second degre, mais si je fais par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ............let x=(-b +. sqrt(delta))/2 in.........
    Il me marque

    This expression has type int,
    but is used with type float.
    J'ai essayé toute sorte de chose:
    -.b
    -b.
    (-.)b
    (float)-b
    etc...
    J'ai cherché sur le net , mais je n'ai pas trouvé comment faire pour forcer le float.
    Si vous savez...
    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    C'est le "/2" qui pose problème.

    "b" est un nom de variable, mettre un point derrière n'a pas de sens. On met des noms de variables dans les nombres flottants, et dans les opérateurs flottants (qui sont +. -. *. /. et ** , le dernier sans point). Pour la soustraction unaire, je ne m'en souviens jamais (il me semble que ça varie entre OCaml et Caml Light), en général ça marche et sinon tu mets (0. -. x).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Merci.Oui ,je me doutais bien que c'était pas très logique de mettre un point derriere une variable...Disons que je tatonne , c'est un langage plutôt pointilleux le caml...Bon du coup , j'ai fais en sorte d'avoir une fonction du genre:
    float->float->float->float
    Et puis je mets des points derriere chaque opérateur.
    Et comme ça , ça marche.Mais bon , c'est un peu embetant.Y'a pas un moyen de forcer le float comme en C. ?

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 102
    Points : 110
    Points
    110
    Par défaut
    Il existe une fonction qui permet de convertir un entier en le flottant correspondant. En OCaml comme en Caml-Light, elle s'appelle float_of_int

    Par contre ce qui serait peut-être plus intéressant serait de créer un type regroupant à la fois les entiers et les flottants (et pourquoi pas les complexes ? puisque tes polynômes vont sans doute avoir des racines complexes...)

    Le mieux pour savoir comment faire c'est de te reporter au manuel de référence.

    Sinon il y a aussi un livre que j'ai trouvé très agréable à lire (même si honètement j'ai pas fini ), par contre c'est pour Caml Light : Le Langage Caml. Il est téléchargeable gratuitement en .pdf ici : http://caml.inria.fr/pub/distrib/books/llc.pdf

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Oui , merci pour la fonction et pour le lien du livre.Tant mieux si c'est pour camllight , pour l'instant je ne me sers que de ça.

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

Discussions similaires

  1. probleme de syntaxe sql dans VB
    Par njac dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/05/2005, 14h41
  2. [VB.NET] Probleme de syntaxe
    Par microthib dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/03/2005, 13h49
  3. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  4. [Débutante] Problèmes de syntaxe
    Par new_wave dans le forum Prolog
    Réponses: 4
    Dernier message: 02/11/2004, 18h39
  5. Problemes de syntaxe
    Par maahta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2003, 13h40

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