newtab
Previous Up Next

newtab = fun [
I _length_
u0 _val_
]tab u0

Création d'une table en fonction de sa taille de d'une valeur d'initialisation.

Paramètres
_length_
Un entier positif.
_val_
Une valeur quelconque.
Valeur de retour
Retourne une table dont la taille est passée en paramètre, et dont chaque case est initialisée avec la valeur passée en paramètre.
Remarque
La valeur d'initialisation doit être utilisée avec prudence, celle-ci est en effet passée par référence et non par valeur. Ainsi (newtab 3 newtab 3 0) ne retourne pas une véritable matrice nulle 3x3, car chaque "ligne" pointe vers le même vecteur-3.
Pour qu'un tel exemple fonctionne on écrira plutôt :


let newtab 3 nil -> m in
(	for i=0;i< 3 do set m.i=newtab 3 0;
	m
)