Lua教学2-表

  1. 表(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"]) -- 输出: value2

table名称+[+序号(排的位置)+]

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) do
    print(key, value)
end

-- 使用ipairs遍历数组部分(只限数字索引)

表的其他操作

  • 合并表‌:可以使用table.move或手动添加键值对来合并表。
  • 获取表长度‌:对于数组部分,使用#table;对于所有元素,使用table.getn(在Lua 5.2及以下版本中),或者使用pairsipairs遍历计算。从Lua 5.2开始,#操作符可以直接用于所有类型的表。
  • 排序表‌:使用table.sort
  • 插入和删除‌:可以使用table.inserttable.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
请登录后发表评论

    没有回复内容