43 lines
867 B
Plaintext
43 lines
867 B
Plaintext
définitions récursives
|
|
une fonction est
|
|
récursive
|
|
si elle fait appel à elle même dans sa propre
|
|
définition
|
|
|
|
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
|
|
|
|
définition par cas
|
|
(match-with)
|
|
|
|
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
|