表
首先表是一个数据结构,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做了排序后的表