|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 6 ![]() |
Bonjour,
je commence à peine en caml mais j'ai un problème. J'ai un type couleur, un type figure et un type carte composé du type couleur et figure. Ensuite j'ai une liste de carte. Et donc mon problème : je ne sais pas comment accéder à la couleur d'une carte qui se trouve dans la liste. Ca doit être tout simple mais je n'y arrive pas... Merci pour votre aide! |
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Valentin RobertÉtudiant Inscription : juin 2004 Messages : 70 ![]() |
Il va nous falloir les définitions.
Si : Code :
type carte = MkCarte of (couleur * figure) Code :
let MkCarte(c_couleur, _) = c in (* ... *) Code :
match c with MkCarte(c_couleur, _) -> (* ... *) Code :
__________________
Apprendre Haskell vous fera le plus grand bien ! |
||
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 6 ![]() |
Merci.
En fait j'ai ça : Code :
Code :
|
||||
|
|
00
|
|
|
#4 | ||||
|
Membre actif
![]() Valentin RobertÉtudiant Inscription : juin 2004 Messages : 70 ![]() |
Voilà comment on écrirait cela en OCaml légèrement plus idiomatique :
Code :
- pas besoin de mettre les paramètres d'une fonction dans une paire ; - pour regarder la forme d'un type de données, on utilise le filtrage par motifs (des motifs qui sont regardés de haut en bas, et le premier qui correspond à la valeur en entrée déclenche l'évaluation du code après son "->") ; - pour en plus tester une condition, j'ai ici utilisé une clause "when condition" ; - pas besoin de ";;" si tu écris ça dans un fichier. On peut même rendre le code plus générique : Code :
__________________
Apprendre Haskell vous fera le plus grand bien ! |
||||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : juin 2012 Messages : 6 ![]() |
Impec, je te remercie, tu me dépannes bien.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com