表
首先表是一個數據結構,table是aardio中唯一的數據結構類型,用來構建有序或無序的集合,一個表,就是一個namespace。
定義:
var TABNAME = {
鍵1 = 值1;
鍵2 = 值2;
鍵3 = 值3;
}
)”。
“鍵”可以是字符或其他除null以外的數據類型,就是這個名字空間的成員名稱。甚至可以在table元素中包含table,table允許嵌套。值可以是一個常亮,也可以是一個變量或function【如果是一個func的話,調用的時候,要求在鍵後面加一個()】。通常把“鍵”放在索引操作符“[]”中來索引一個元素的值,這時候鍵又稱爲“下標”或“索引”。例如 tab["鍵"] tab[1] ;也可以把一個符合變量命名規則的鍵放在成員操作符“.”後面,例如 tab.key tab.key2 ;用下標法的話,[]可以是任何字符,比用.更靈活一些,但是注意用[]時,方框內的鍵要求被引號引起來,用.的話不需要。
例如:
創建一個空表:
days = {}
遍歷表內容,用for (k,v in TABNAME){}的模式:
io.open(); //打開控制檯窗口,用來支持print函數 tab = { a="字符串"; b=123; c="字符串2"; d=23; e=56; 78; 99; 123; 0 } for (k,v in tab){ //k爲鍵,v是匹配的值,在這裏鍵值對無序的隨機出現。 if (k == TABNAME[鍵] ) //用==來表示“等於” io.print(k,v); //顯示: 鍵,值 };
aardio中的tab是一個無序表,是一個通過hash做了排序後的表