1、table永遠是匿名的,一個持有table的變量與table自身之間沒有固定的關聯性。
2、用a = nil的方法刪除,當程序再也沒有對一個table的引用時,lua垃圾回收器最終會刪除table,並複用它的內存
3、a.x與a[x],前者表示a["x"],表示以字符串"x"來索引table。而後者是以變量x的值來索引table。
a = {}
x = "y"
a[x] = 10 --將10放入字段"y"
print(a[x]) --字段“y"的值
print(a.x) --字段"x"(未定義的)的值
print(a.y) --字段"y"的值
4、數組通常以1作爲索引的起始值,並且不少機制依賴於這個慣例。在Lua5.1中,長度操作符"#"用於返回一個數組或線性表的最後一個索引值(或爲其大小)。
print(a[#a]) --打印類表a的最後一個值
a[#a] = nil --刪除最後一個值
a[#a+1] = v --將v添加到列表末尾
5、nil作爲界定數組結尾的標誌,對於處理含有“空隙”的數組,可以使用函數table.maxn,他將返回一個table的最大正索引數:
a = {}
a[10000] = 1
print(table.maxn(a)) -->10000