Di LeekScript, ada array "klasik" bertipe "Array", dan array asosiatif bertipe "Map".
Jenis array yang agak khusus ini menjawab sebuah persoalan: misalkan saya ingin menyimpan karakteristik bawang perai saya, seperti kekuatan, kebijaksanaan, resistansi,... Maka saya membuat sebuah array:
var monPoireau = []; push(monPoireau, getStrength()); push(monPoireau, getWisdom()); push(monPoireau, getResistance());
Masalah saya sekarang, saya harus ingat bahwa kekuatan ada di kotak ke-1, kebijaksanaan di kotak ke-2, dan resistansi di kotak ke-3... Saat ini sih masih ingat, tetapi 2 minggu lagi saya pasti sudah lupa sama sekali!
Solusinya: alih-alih menomori kotak-kotak itu, akan lebih cerdas jika kita memberinya nama yang jelas. Nah, itu mungkin, dan namanya array asosiatif!
var monPoireau = [:]; monPoireau["force"] = getStrength(); monPoireau["sagesse"] = getWisdom(); monPoireau["resistance"] = getResistance(); debug( monPoireau ); // Akan menampilkan sesuatu seperti ["force" : 150, "sagesse" : 20, "resistance" : 95] debug( monPoireau["force"] ); // Akan menampilkan 150
Nama-nama yang jelas itu (disebut kunci) di sini adalah "force", "sagesse", dan "resistance". Dari contoh ini kita melihat cara mendeklarasikan dan menggunakannya. Kunci dapat berupa bilangan bulat atau string.
Praktis! Tapi kalau begitu, bagaimana cara menelusuri sebuah array asosiatif?
Loop berikut:
for (var k = 0; k maMap = [:];
Dalam mode ketat, pemberian tipe ini wajib: pada Map yang dideklarasikan hanya dengan var m = [:], penyisipan tidak dapat dikompilasi (kesalahan tipe), sedangkan penyisipan diterima pada Map.
Selanjutnya kita dapat menelusuri map tersebut seperti ini:
for (string maCle : integer maValeur in maMap) { debug("Pour la clé " + maCle + " la valeur qui correspond est " + maValeur); }
Sekarang, giliran Anda untuk menggunakannya. Anda akan lihat, begitu tahu cara memakainya, Anda tidak akan bisa lepas darinya!
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.