2012年7月3日星期二

TJS教學---dictionary,字典陣列(1)

(k ゚∀゚)<上一次介紹了陣列,今次則介紹跟陣列十分相似的東西,稱之為字典陣列(Dictionary)。

字典?這不是用來查字的玩意嗎,為什麼吉里吉里需要這種東西?>( ゚ω゚ s)

(k ゚∀゚)<不是啦,雖然名稱叫字典陣列,但與現實中的字典沒有關係,只是概念上有點相似。

(k ゚∀゚)<簡單來說,字典陣列是利用字串取代數值做索引的陣列,宣告字典陣列的方式就像以下的範例。

var dic = new Dictionary();

(k ゚∀゚)<在上述的範例裡,我們已經建立了一個字典陣列,是不是很簡單。

不過怎樣使用它?>( ゚ω゚ s)

(k ゚∀゚)<而用法基本上跟陣列差不多,看看以下的範例。

var npc=new Dictionary();
npc["name"]="NPC";
npc["age"]=17;
npc["occupation"]="學生";

System.inform("我的名字叫"+npc["name"]+"\n今年"+npc["age"]+"歲\n職業是一位"+npc["occupation"]);














(k ゚∀゚)<使用字典陣列有一個好處,索引值不再是一些沒意義的整數。例如當我們看見npc["name"]時,很容易就聯想到這是有關於名稱的變數。

原來如此。>( ゚ω゚ s)

(k ゚∀゚)<我們亦可以另一個寫法來使用字典陣列,看看以下的範例。

var npc=new Dictionary();
npc.name="NPC";
npc.age=17;
npc.occupation="學生";

System.inform("我的名字叫"+npc.name+"\n今年"+npc.age+"歲\n職業是一位"+npc.occupation);

唔……這種寫法好像似曾相識……>( ゚ω゚ s)

(k ゚∀゚)<嗯,我們其實在KAG裡已經經常用到字典陣列,其實所謂系統變數、遊戲變數、暫時變數,它們都只是字典陣列,只不過之前沒有特別去介紹它。

(k ゚∀゚)<跟陣列一樣,我們亦可同時進行宣告和初始化,就像以下的範例。

var npc=%["name"=>"NPC","age"=>17,"occupation"=>"學生"];

System.inform("我的名字叫"+npc.name+"\n今年"+npc.age+"歲\n職業是一位"+npc.occupation);

(k ゚∀゚)<當初始化字典陣列的元素時,可以利用「名稱 => 值」的形式來進行初始化。

(k ゚∀゚)<而且留意一般的陣列是使用[],字典陣列則是使用%[],不要將它們混淆。

(k ゚∀゚)<今次介紹到這裡,下次再見。

沒有留言:

發佈留言