字典?這不是用來查字的玩意嗎,為什麼吉里吉里需要這種東西?>( ゚ω゚ 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 ゚∀゚)<今次介紹到這裡,下次再見。
沒有留言:
發佈留言