Em LeekScript, existem os arrays "clássicos" de tipo "Array" e os arrays associativos de tipo "Map".
Esse tipo de array um pouco particular vai permitir resolver um problema: suponha que eu queira guardar na memória as características do meu alho-poró, como a força, a sabedoria, a resistência,... Então fiz um array:
var monPoireau = []; push(monPoireau, getStrength()); push(monPoireau, getWisdom()); push(monPoireau, getResistance());
Meu problema, agora, é que preciso me lembrar de que a força está na 1ª posição, a sabedoria na 2ª e a resistência na 3ª... Agora mesmo, tudo bem, mas daqui a 2 semanas terei esquecido completamente!
A solução: em vez de numerar as posições, seria mais engenhoso dar a elas um nome explícito. Pois bem, isso é possível e se chama arrays associativos!
var monPoireau = [:]; monPoireau["force"] = getStrength(); monPoireau["sagesse"] = getWisdom(); monPoireau["resistance"] = getResistance(); debug( monPoireau ); // Mostrará algo do tipo ["force" : 150, "sagesse" : 20, "resistance" : 95] debug( monPoireau["force"] ); // Mostrará 150
Os nomes explícitos (chamados de chaves) são aqui "force", "sagesse" e "resistance". Vemos neste exemplo como declará-las e como usá-las. As chaves podem ser inteiros ou strings.
Prático! Mas então, como fazemos para percorrer um array associativo?
O laço a seguir:
for (var k = 0; k maMap = [:];
Em modo estrito, essa tipagem é indispensável: em uma Map declarada simplesmente com var m = [:], as inserções não compilam (erro de tipo), enquanto são aceitas em uma Map.
Em seguida, podemos percorrer a map assim:
for (string maCle : integer maValeur in maMap) { debug("Pour la clé " + maCle + " la valeur qui correspond est " + maValeur); }
Agora é a sua vez de usá-los. Você vai ver: depois que aprendemos a usá-los, não conseguimos mais viver sem!
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.