-
表(Table)
- 数组与字典的混合体:
arr = {10, 20, 30} -- 数字索引从1开始
dict = {name="Bob", age=30} -- 字符串键
- 访问元素:
print(arr)或print(dict.name)
- 数组与字典的混合体:
创建表的基本语法如下:
-- 创建一个空表local myTable = {}
-- 创建一个包含键值对的表local myTable = {key1 = "value1", key2 = "value2"}(key1–键 value1–值)
访问表元素
- 调用:table名称+”.”+键名
-- 访问表中的元素
print(myTable.key1) -- 输出: value1
print(myTable["key2"]) -- 输出: value2table名称+[+序号(排的位置)+]
a = table[1] –table中第一个数据
修改表元素
修改表元素的基本语法如下:
myTable.key1 = "new value"
myTable["key2"] = "another value"添加新元素到表
向表中添加新元素也很直接:
myTable.newKey = "newValue"删除表元素
删除表中的元素:
myTable.key1 = nil -- 删除键为key1的元素遍历表
-- 使用pairs遍历所有键值对for key, value in pairs(myTable) doprint(key, value)
end
-- 使用ipairs遍历数组部分(只限数字索引)
表的其他操作
- 合并表:可以使用
table.move或手动添加键值对来合并表。 - 获取表长度:对于数组部分,使用
#table;对于所有元素,使用table.getn(在Lua 5.2及以下版本中),或者使用pairs或ipairs遍历计算。从Lua 5.2开始,#操作符可以直接用于所有类型的表。 - 排序表:使用
table.sort。 - 插入和删除:可以使用
table.insert和table.remove。
-- 创建一个表并添加元素local myTable = {name = "Alice", age = 30}
myTable[1] = "Element 1" -- 添加一个数组元素
myTable[2] = "Element 2" -- 添加另一个数组元素table.insert(myTable, "Inserted Element") -- 在末尾插入一个新元素,等同于myTable[#myTable + 1] = "Inserted Element"table.remove(myTable, 1)— 删除第一个元素(数组中的第一个元素)print(#myTable) — 输出数组部分的长度,不包括已删除的元素和新增的”Inse


没有回复内容