LFSLapper help

Les tableaux

Vous êtes ici :Manuel > GLScript

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
On peut voir ici qu'il s'agit d'une liste de prénoms. On appelle cela un tableau, aussi appelé array. La syntaxe de définition du tableau en GLScript (pour dire "voilà, cette variable sera un tableau") sera de la forme suivante :

$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.

6

Le 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';
Aller à la page
(C) 2009 Robert BRACCAGNI