LeekScript には、「Array」型の「普通の」配列と、「Map」型の連想配列があります。
この少し変わった配列は、次のような問題を解決してくれます。たとえば、自分のネギの特徴(強さ、知恵、抵抗など)を記憶しておきたいとしましょう。 そこで配列を作りました。
var monPoireau = []; push(monPoireau, getStrength()); push(monPoireau, getWisdom()); push(monPoireau, getResistance());
ここで困るのは、強さが 1 番目、知恵が 2 番目、抵抗が 3 番目の要素だと覚えておかなければならないことです。今はまだいいですが、2 週間もすればすっかり忘れてしまうでしょう!
解決策:要素に番号を振る代わりに、わかりやすい名前を付けたほうがずっと賢明です。実はそれができるのです。それが連想配列です!
var monPoireau = [:]; monPoireau["force"] = getStrength(); monPoireau["sagesse"] = getWisdom(); monPoireau["resistance"] = getResistance(); debug( monPoireau ); // ["force" : 150, "sagesse" : 20, "resistance" : 95] のようなものが表示されます debug( monPoireau["force"] ); // 150 が表示されます
ここでのわかりやすい名前(キーと呼びます)は "force"、"sagesse"、"resistance" です。この例から、宣言のしかたと使い方がわかります。 キーには整数または文字列を使えます。
便利ですね!でも、連想配列を走査するにはどうすればいいのでしょう?
次のループは:
for (var k = 0; k maMap = [:];
ストリクト・モードではこの型付けが必須です。単に var m = [:] と宣言した Map への挿入はコンパイルできません(型エラー)が、Map への挿入は受け付けられます。
そのうえで、次のように Map を走査できます。
for (string maCle : integer maValeur in maMap) { debug("Pour la clé " + maCle + " la valeur qui correspond est " + maValeur); }
あとは実際に使ってみるだけです。 一度使い方を覚えたら、もう手放せなくなりますよ!
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.