Bonsoir,
Je dois réaliser une fonction paramétrée par n, dont le résultat est un caractère. Je ne sais pas comment donner un caractère comme résultat!
Naël
Bonsoir,
Je dois réaliser une fonction paramétrée par n, dont le résultat est un caractère. Je ne sais pas comment donner un caractère comme résultat!
Naël
Salut,
quand on débute il est bien utile de consulter le manuel de référence. Celui d'OCaml est très bon (j'ai appris ce langage grâce à cet ouvrage), celui de Caml Light, je n'en sais rien (mais j'imagine qu'il est de même qualité). Tu peux trouver le manuel de référence d'OCaml en version html ou pdf. Pour Caml Light, je te laisse googueler.
Pour répondre tout de même à ta question, les caractères simples sont décris en Caml entourés de guillemets simples ('). Ainsi, 'a' est du type char. Si tu avais d'autres question de ce genre, merci de ne pas les poser sur le forum mais de te référer au manuel (td; dr: RTFM).
Cdlt,
Je me suis mal exprimé je pense, je sais comment on écrit un caractère.. Pour m'aider à m'expliquer je voudrais savoir si vous connaissez le module Cartes?
Merci quand même pour le cours, je vais le consulter !![]()
Tu ne m'expliques pas ton problème là ... Enfin, pour plus d'info sur les caractères en OCaml, le module Char peut aider (le manuel en parle ...).
Oui mais justement pour me permettre de m'expliquer je t'ai posé une question
En cours je travaille sur un module qui s'appelle Cartes, c'est un simulateur qui permet de manipuler des tas de cartes (4 tas). Mon problème est donc celui-ci :
"Réalisez une fonction couleur_en_char paramétrée par un numéro de tas n, dont le résultat est un caractère. Ce caractère est l'un des caractères suivants :
- 'T' si la carte située au sommet du tas n est un trêfle;
- 'K' si la carte située au sommet du tas n est un carreau;
- 'C' si la carte située au sommet du tas n est un coeur;
- 'P' si la carte située au sommet du tas n est un pique.
Donc j'ai voulu commencer à écrire ma fonction en écrivant :
En gros je veux dire que "si le sommet est un trèfle, alors -> 'T' , si c'est un carreau -> 'K' , etc. Mais je ne vois pas comment faire! Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 let couleur_en_char (n) = if sommet_trèfle(n) then ...
Voila ! Une question bien posée ! Les quatre messages précédents ne servent à rien, si ton premier message avait été celui-ci tu aurais déjà eu une réponse.
Alors la réponse se trouve dans le manuel de référence. Une première solution serait d'imbriquer des if :
Mais OCaml te fournit une syntaxe bien plus agréable : le matching :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let couleur_en_char couleur = if couleur = Carte.pique then 'P' else if couleur = ...
Et enfin, une syntaxe particulière pour les fonctions faisant un matching d'un de ses arguments :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 match couleur with | Carte.pique -> valeur si pique | Carte.trefle -> valeur si trèfle ...
Mais lis le manuel !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let couleur_en_char = function | Carte.pique -> valeur si pique | Carte.trefle -> valeur si trèfle ...
Partager