45 lines
920 B
Plaintext
45 lines
920 B
Plaintext
les cycle écriture-compilation-exécution
|
||
|
||
d ́efinitions r ́ecursives
|
||
une fonction est
|
||
r ́ecursive
|
||
si elle fait appel `a elle mˆeme dans sa propre
|
||
d ́efinition
|
||
|
||
définition par cas
|
||
(match-with)
|
||
|
||
récursivité mutuelle
|
||
|
||
les types structurés
|
||
- le produit cartésien
|
||
- le n-uplet
|
||
- types produits nommés (enregistrements)
|
||
|
||
type complexe = { re : float; im : float} ;;
|
||
type complexe = { re : float; im : float; }
|
||
# let a = {re=1.4; im = 0.5} ;;
|
||
val a : complexe = {re = 1.4; im = 0.5}
|
||
# a.re ;;
|
||
- : float = 1.4
|
||
# a.im ;;
|
||
- : float = 0.5
|
||
|
||
les types sommes : modélisation de domaines finis
|
||
# type couleur = Pique | Coeur | Carreau | Trefle;;
|
||
type couleur = Pique | Coeur | Carreau | Trefle
|
||
# let a = Trefle ;;
|
||
val a : couleur = Trefle
|
||
|
||
let points v =
|
||
match v with
|
||
Pique -> 1
|
||
| Trefle -> 2
|
||
| Coeur -> 3
|
||
| Carreau -> 4;;
|
||
# points a ;;
|
||
- : int = 2
|
||
#
|
||
constructeurs avec arguments
|
||
type num = Int of int | Float of float
|