table在前面作過介紹,它是一種關聯陣列,這種關聯指的是可以設定各類型別的key來儲存值。
--為 table a 並設定元素,然後將 a 賦值給 b,則 a 與 b 都指向同乙個記憶體位址
--如果 a 設定為 nil ,則 b 同樣能訪問 table 的元素。
--如果沒有指定的變數指向a,lua的垃圾**機制會清理相對應的記憶體。
mytable ={};
print("
mytable的型別是:
",type
(mytable));
mytable[
1] = "
lua"
mytable[
"wow
"] = "
修改前的值
"print("
mytable 索引為1的元素是:
",mytable[1
])
print("
mytable 索引為wow的元素是:
",mytable["
wow"
]) beforetable =mytable;
print("
beforetable 索引為1的元素是:
",beforetable[1
])
print("
mytable 索引為wow的元素是:
",mytable["
wow"
]) beforetable[
"wow
"] = "
修改後的值
"print("
mytable 索引為wow的元素是:
",mytable["
wow"
])
--釋放變數
beforetable = nil
;
print("
beforetable是:
",beforetable)
--mytable 仍然可以訪問
print("
mytable索引為wow的元素是:
",mytable["
wow"
]) mytable = nil
;
print("
mytable是:
",mytable)
--table 的操作:
--1.連線 table.concat()
--2.插入 table.insert();在資料的指定位置插入元素,預設在末尾
--3.移除 table.remove(table,pos) 移除指定位置的元素
--4.排序 table.sort(table)
fruits =
--- 連線操作
print("
連線後的字串是:
",table.concat
(fruits));
--指定符號連線
print("
連線後的字串是:
",table.concat(fruits,", "
));
--指定索引連線
print("
連線後的字串是:
",table.concat(fruits,"
, ",2,3
));--- 插入操作
table.insert(fruits,2,"
pear")
print("
插入後的元素是:
",fruits[2
])--- 移除操作
print("
移除前是:
",table.concat(fruits,", "
));
table.remove(fruits,3
);
print("
移除前後:
",table.concat(fruits,", "
));
--- 排序操作
print("
排序前:")
for i, v in
pairs(fruits) do
(i,v)
endtable.sort
(fruits)
print("
排序後:")
for i, v in
pairs(fruits) do
(i,v)
end
lua table操作例項詳解
lua gettable lua getglobal l,mytable push mytable lua pushnumber l,1 push key 1 lua gettable l,2 pop key 1,push mytable 1 lua settable lua getglobal l...
LUA TABLE資料型別的操作
table.concat table,sep,start,end table.concat 函式列出引數中指定table的陣列部分從start位置到end位置的所有元素,元素間以指定的分隔符 sep 隔開 除了table外,其他的引數都不是必須的,分隔符的預設值是空字元,start的預設值是1,en...
lua table操作及math庫
1 table.concat table sep start end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從start位置到end位置的所有元素,元素間以指定的分隔符 sep 隔開。2table.insert ta...