Définition et présentation
Les tableaux indexés
Les tableaux vont vous changer la vie ! en fait, il s'agit de variables qui peuvent contenir plusieurs valeurs. On peut donc imaginer leur représentation sous forme d'un tableau. Pour différencier les valeurs, pour savoir comment on va dire à GLScript "je veux telle valeur de cette variable" il faut bien distinguer les valeurs par des indices. Voilà comment on peut représenter tout ça :| Indice | Valeur |
| 0 | Maurice |
| 1 | Jean |
| 2 | Pierre |
| 3 | Paul |
$prenoms[0] = "Maurice"; $prenoms[1] = "Jean"; $prenoms[2] = "Pierre"; $prenoms[3] = "Paul";
Les tableaux peuvent avoir des indices sous forme de nombres entiers ou de chaînes de caractères. On parle alors respectivement en GLScript de tableaux indexés et de tableaux associatifs. Pour les tableaux indexés, le premier indice commence toujours à 0
C'est bien beau tout ça, mais comment afficher la valeur du tableau pour un indice spécifié ? bah on utilise toujours privMsg, mais cette fois-ci voilà comment on accède au tableau. Reprenons le code vu au chapitre précédent pour faire nos test.
Sub MyTest()
privMsg( GetCurrentPlayerVar("NickName") . " ^7is testing...");
$prenoms[0] = "Maurice";
$prenoms[1] = "Jean";
$prenoms[2] = "Pierre";
$prenoms[3] = "Paul";
privMsg( $prenoms[0] );
privMsg( $prenoms[1] );
privMsg( $prenoms[2] );
privMsg( $prenoms[3] );
EndSub
tapez !test
le résultat est

Les tableaux associatifs
GLScript peut également vous permettre de distinguer les différentes valeurs de vos tableaux par des indices associatifs. Ils sont constitués de chaînes de caractères. Prenons cette fois l'exemple d'un pilote. On va le différencier par plusieurs choses :
- Son nom
- Sa voiture
- Son circuit
$racer["name"] = "Gai-Luron"; $racer["car"] = "XFG"; $racer['track'] = 'AS3';
Si on veut afficher le nom du pilote de l'article, on utilisera toujours privMsg mais de cette façon :
Sub MyTest()
privMsg( GetCurrentPlayerVar("NickName") . " ^7is testing...");
$racer["name"] = "Gai-Luron";
$racer["car"] = "XFG";
$racer['track'] = 'AS3';
privMsg( $racer["name"] . " have car " . $racer["car"] . " on track " . $racer["track"] );
EndSub
Le point permet de coller (concaténer) un texte à un autre qu'il soit contenu dans une variable ou non.
6Le résultat sera :

Parcourir un tableau
Les tableaux offrent une possibilité assez intéressante qui est de stocker plusieurs données dans une seule variable. GLScript vous permet d'appliquer de nombreuses opérations sur les tableaux, donc celle de les parcourir. En effet, vous aurez par exemple besoin de lister tous les articles d'un tableau pour les afficher. On peut utiliser pour faire cette opération la fonction FOR() ou FOR(), dont nous verrons la syntaxe plus tard.
Les tableaux multidimmensionnels
Je vous ai montré les tableaux à une dimension, mais il va sans dire que vous pouvez créer des tableaux à plusieurs dimensions. Il peuvent être de type indexé ou de type associatif ou les deux à la fois.
Exemple
$racer[1,"name"] = "Gai-Luron"; $racer[1,"car"] = "XFG"; $racer[1,'track'] = 'AS3'; $racer[2,"name"] = "Lagamel"; $racer[2,"car"] = "XRT"; $racer[2,'track'] = 'SO6';