table 是 Lua 的一種資料結構
1.初始化為空表
mytable={}
2.指定table內容
mytable={}
mytable[1]='hell0'
mytable[2]='lua'
mytable[4]='easy'
for i,k in pairs(mytable) do
print(i,k)
end
--1 hell0
--2 lua
--4 easy
3.洗掉table,lua 垃圾回識訓釋放記憶體
mytable=nil
4)當為 table a 設定元素,然后將 a 賦值給 b,則 a 與 b 都指向同一個記憶體,如果 a 設定為 nil ,則 b 同樣能訪問 table 的元素
mytable={}
mytable[1]='hell0'
mytable[2]='lua'
mytable[4]='easy'
print("mytable value:")
for i,k in pairs(mytable) do
print(i,k)
end
copytable=mytable
print("copytable value:")
for i,k in pairs(copytable) do
print(i,k)
end
mytable=nil
print("after delete mytable,copytable value:")
for i,k in pairs(copytable) do
print(i,k)
end
print(mytable)
--[[
mytable value:
1 hell0
2 lua
4 easy
copytable value:
1 hell0
2 lua
4 easy
after delete mytable,copytable value:
1 hell0
2 lua
4 easy
nil
]]--
5)table操作
| 函式 | 作用 |
|---|---|
| table.concat (table [, sep [, start [, end]]]) | 列出從start位置到end位置的陣列部分的所有元素, 元素間以指定的分隔符(sep)隔開 |
| table.insert (table, [pos,] value) | 在table的陣列部分指定位置(pos)插入值為value的一個元素. pos引數可選, 默認為陣列部分末尾. |
| table.remove (table [, pos]) | 回傳table陣列部分位于pos位置的元素. 其后的元素會被前移. pos引數可選, 默認為table長度, 即從最后一個元素刪起 |
| table.sort (table [, comp]) | 對table升序排序 |
table.concat
mytable={}
mytable[1]='hello'
mytable[2]='lua'
mytable[3]='is'
mytable[4]='easy'
print(table.concat(mytable))
print(table.concat(mytable,"-"))
print(table.concat(mytable,"-",1,3))
--[[
helloluaiseasy
hello-lua-is-easy
hello-lua-is
]]--
不能是鍵值對的形式,否則會報錯
mytable['key1']='hello'
mytable['key2']='lua'
mytable['key3']='is'
mytable['key4']='easy'
invalid value (nil) at index 1 in table for ‘concat’
table.sort
mytable={"Tom","Bob","Lisa","Lili"}
table.sort(mytable)
for i,k in ipairs(mytable) do
print(i,k)
end
--[[
1 Bob
2 Lili
3 Lisa
4 Tom
]]--
鍵值對的table(如果key為整型)會根據value排序
mytable={}
mytable[2]='hello'
mytable[3]='lua'
mytable[1]='is'
mytable[4]='easy'
for i,k in pairs(mytable) do
print(i,k)
end
print("******")
table.sort(mytable)
for i,k in pairs(mytable) do
print(i,k)
end
--[[
1 is
2 hello
3 lua
4 easy
******
1 easy
2 hello
3 is
4 lua
]]--
table.insert
mytable={'he','sa','ds','lu'}
instable={}
for i,k in pairs(mytable) do
table.insert(instable,k)
end
for i,k in pairs(instable) do
print(i,k)
end
--[[
1 he
2 sa
3 ds
4 lu
]]--
table.remove
mytable={'he','sa','ds','lu','li','kk'}
instable={}
for i,k in pairs(mytable) do
table.insert(instable,k)
end
for i =0,2,1 do
table.remove(instable)
end
for i,k in pairs(instable) do
print(i,k)
end
print(instable[1])
print(instable[2])
print(instable[3])
print(instable[4])
print(instable[5])
print(instable[6])
--[[
1 he
2 sa
3 ds
he
sa
ds
nil
nil
nil
]]--
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/277111.html
標籤:其他
上一篇:怎么保證介面的冪等性
