Next: Fonctions et procédures
Up: Un exemple simple
Previous: Références
Un vecteur est une succession de cases mémoires. Les indices des éléments commencent en , si le vecteur est de longueur n les indices vont de à n - 1. Pour accéder aux éléments d'un vecteur v, on utilise la notation v.(indice). Pour modifier le contenu des cases de vecteur, on utilise le symbole <- qu'on lit reçoit. Par exemple v.(i) <- k met la valeur k dans la case i du vecteur v.
Pour créer un tableau, on appelle la primitive make_matrix. La ligne
let c = make_matrix n n 0 in
définit donc une matrice , dont les éléments sont des entiers, tous initialisés à . Chaque élément de la matrice c ainsi définie est accédé par la notation c.(i).(j), et modifié par la notation c.(i).(j) <- nouvelle valeur. Comme la notation le suggère, c.(i).(j) signifie en fait (c.(i)).(j), c'est-à-dire accès au élément du vecteur c.(i). Cela veut dire que la matrice est en réalité un vecteur dont les éléments sont eux-mêmes des vecteurs: les lignes de la matrice. (Mais rien n'empêche évidemment de définir une matrice comme le vecteur de ses colonnes.) Retenons qu'en Caml comme en C, les tableaux sont des vecteurs de vecteurs.
D'autre part, la ligne let c = make_matrix n n 0 in définit un tableau dont la taille n'est pas une constante connue à la compilation, mais une valeur déterminée à l'exécution (ici n est lue sur l'entrée standard); cependant, une fois le tableau créé, sa taille est fixée une fois pour toutes et n'est plus modifiable.
En Caml, la taille des vecteurs est fixée à la création.
1/11/1998