五矿瑞和上海建设有限公司网站,网站竞价推广,小企业网站建设制作平台,承德北京网站建设Table#xff08;表#xff09;
table 是 lua 中唯一的数据结构#xff0c;可以用于表示 数组#xff0c;字典与结构体。它非常强大#xff0c;可以储存任何数据类型。
table 的数据单元为一对键值。 table 是不固定大小的#xff0c;你可以根据自己需要进行扩容。
构…Table表
table 是 lua 中唯一的数据结构可以用于表示 数组字典与结构体。它非常强大可以储存任何数据类型。
table 的数据单元为一对键值。 table 是不固定大小的你可以根据自己需要进行扩容。
构造方式
table {} --空 tabletable {1, 2, 3,} -- arraytable {[1] 1, [2] 2, [3] 3,} --diractorytable.x 1 --strcut构造方式有多种
记录式(数组较为常见)
table {1, 2, 3,}列表式
table {x 1, y 2, z 3,}通用形式(字典较为常见)
table {[1] 1, [2] 2, [3] 3,}由于在查询键的类型可以出现不同如 number 与 string 之间的转换需要注意。 同时 整型类型 与 浮点类型之间在table中是一致的浮点型 2.0 等于 整型 2不存在分歧问题table会将整型浮点转为 number 遍历
table {}
for i 1, 1000 dotable[i] i
end--遍历
for i 1, #table doprint(table[i])
endtable 表示数组时索引值从 1 开始通过 # 来获得数组是大小# 只能获得数组序列的大小且序列中间不能为 nil。
nil 意味移除该元素所以当不需要此数据时将其设为 nilcg会将其收回。
print(table[#table]) --输出最后一个值
table[#table] nil --移除最后一个元素
table[#table 1] value --在末尾添加元素for 遍历 table 的两种方式
ipairs 迭代器 - 主要用于数组的迭代pairs 迭代器 - 主要用于字典的迭代
t {1, 2, 3,}
--[[i 为索引v 为值
]]
for i, v in ipairs(t) doprint(t[i])
end
--[[k 为键 v 为值
]]
for k, v in pairs(t) doprint(k .. .. v)
endtable函数
方法用途table.concat(table, [, sep, [, start [, end]]])concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从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进行升序排序。