En LeekScript, il existe les tableaux "classiques" de type "Array", et les tableaux associatifs de type "Map".
Ce type de tableau un peu particulier va permettre de répondre à une problématique : supposons que je cherche à garder en mémoire les caractéristiques de mon poireau, comme la force, la sagesse, la résistance,... J'ai donc fait un tableau :
var monPoireau = []; push(monPoireau, getStrength()); push(monPoireau, getWisdow()); push(monPoireau, getResistance());
Mon problème, maintenant, c'est qu'il faut que je me souvienne que la force est en 1ère case, la sagesse en 2ème et la résistance en 3ème... Là tout de suite, ça va, mais dans 2 semaines, j'aurai complètement oublié !
La solution : Au lieu de numéroter les cases, ils serait plus ingénieux de leur donner un nom explicite. Et bien c'est possible et ça s'appelle les tableaux associatifs !
var monPoireau = [:]; monPoireau["force"] = getStrength(); monPoireau["sagesse"] = getWisdow(); monPoireau["resistance"] = getResistance(); debug( monPoireau ); // Affichera quelque chose du genre ["force":150, "sagesse":20, "resistance":95] debug( monPoireau["force"] ); // Affichera 150
Les noms explicites (on les appelle des clés) sont ici "force", "sagesse" et "resistance". On voit dans cet exemple comment les déclarer et comment s'en servir. Les clés peuvent être des entiers ou des chaînes de caractères.
Pratique ! Mais du coup, comment on fait pour parcourir un tableau associatif ?
La boucle suivante :
for (var k=0; k maMap = [:];
Ensuite on peut parcourir la map ainsi :
for(string maCle:integer maValeur in maMap){ debug("Pour la clé " + cle + " la valeur qui correspond est " + valeur); }
Maintenant, à toi de les utiliser. Tu verras, une fois qu'on sait les utiliser, on ne peut plus s'en passer !
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.