Ocaml _ Problème avec le type
Résolu/Fermé
CrazyGeekMan
Messages postés
871
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
29 octobre 2022
-
20 janv. 2017 à 17:05
CrazyGeekMan Messages postés 871 Date d'inscription dimanche 1 novembre 2015 Statut Membre Dernière intervention 29 octobre 2022 - 21 janv. 2017 à 10:48
CrazyGeekMan Messages postés 871 Date d'inscription dimanche 1 novembre 2015 Statut Membre Dernière intervention 29 octobre 2022 - 21 janv. 2017 à 10:48
A voir également:
- Valeur absolue ocaml
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Liste de valeur excel - Guide
- #Valeur excel somme - Guide
- Piece 2€ bonhomme valeur ✓ - Forum Loisirs / Divertissements
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
20 janv. 2017 à 19:28
20 janv. 2017 à 19:28
Bonjour,
Le problème c'est la priorité de l'opérateur
Cela se règle avec des parenthèses.
Remarque : la valeur absolue est une fonction de calcul d'un entier qui donne un autre entier, tu ne devrais donc pas faire l'affichage dans cette fonction, mais plutôt afficher le résultat de la fonction.
Le problème c'est la priorité de l'opérateur
-qui fait que Caml tente de soustraire x à print_int (ce qui n'a pas de sens).
Cela se règle avec des parenthèses.
let val_abs x =
if x<0 then print_int (-x)
else print_int x;;
val_abs (-5);;
Remarque : la valeur absolue est une fonction de calcul d'un entier qui donne un autre entier, tu ne devrais donc pas faire l'affichage dans cette fonction, mais plutôt afficher le résultat de la fonction.
let val_abs x =
if x<0 then -x
else x;;
val_abs (-5);;
let print_abs x =
print_int (val_abs x);;
print_abs (-5);;
20 janv. 2017 à 22:17
Je me permet de corriger cette petite coquille :)
Bon je pensais que le programme comprendrais que quand j'écris -x alors ça équivaut à -1*x ; ça marche dans le second cas.
Merci !
21 janv. 2017 à 10:44
Si tu parles du en en réalité c'est inutile.
La priorité de avec le then est différente car c'est un mot clé du langage, donc Caml sait que tu ne peux pas faire de soustraction de then, contrairement à print_int qui est une fonction.
21 janv. 2017 à 10:48
Merci pour ces explications !
--