Lua的table类型的增删改查操作

增:

方法一:直接赋值

Lua 复制代码
local t = {}  -- 创建一个空表

-- 添加键值对
t["name"] = "Lua"  -- 添加字符串键
t[1] = "Hello"     -- 添加数字键

print(t["name"])  -- 输出: Lua
print(t[1])       -- 输出: Hello

方法二:使用**table.insert**

Lua 复制代码
local t = {"a", "b", "c"}

-- 在末尾插入
table.insert(t, "d")  -- t 变为 {"a", "b", "c", "d"}

-- 在指定位置插入
table.insert(t, 2, "x")  -- t 变为 {"a", "x", "b", "c", "d"}

print(table.concat(t, ", "))  -- 输出: a, x, b, c, d

方法三:使用 # 运算符

Lua 复制代码
local t = {"a", "b", "c"}

t[#t + 1] = "d"  -- 在末尾插入 "d" 注意这里的#t仅仅是统计整数下标的元素个数
print(table.concat(t, ", "))  -- 输出: a, b, c, d

删:

方法一:直接设置为nil

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 删除键为 "b" 的元素
t["b"] = nil

print(t["b"])  -- 输出: nil

方法二:使用remove函数

Lua 复制代码
local t = {"a", "b", "c", "d"}

-- 删除最后一个元素
table.remove(t)  -- t 变为 {"a", "b", "c"}

-- 删除指定位置的元素
table.remove(t, 2)  -- t 变为 {"a", "c"}

print(table.concat(t, ", "))  -- 输出: a, c

改:

方法一:修改键值对

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 修改键为 "a" 的值
t["a"] = 100

-- 修改键为 "b" 的值
t.b = 200

print(t["a"])  -- 输出: 100
print(t.b)     -- 输出: 200

方法二:嵌套表修改

Lua 复制代码
local t = {
    a = {1, 2, 3},
    b = {x = 10, y = 20}
}

-- 修改嵌套表中的值
t["a"][2] = 100  -- 修改 t.a 的第二个元素
t.b.y = 200      -- 修改 t.b 的键为 "y" 的值

print(t.a[2])    -- 输出: 100
print(t.b.y)     -- 输出: 200
相关推荐
浪扼飞舟3 小时前
c#基础(一)
开发语言·c#
en-route4 小时前
如何在 Spring Boot 中指定不同的配置文件?
java·spring boot·后端
百锦再4 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务
java·linux·开发语言·人工智能·python·centos·pygame
echoyu.4 小时前
消息队列-kafka完结
java·分布式·kafka
七夜zippoe4 小时前
分布式事务性能优化:从故障现场到方案落地的实战手记(二)
java·分布式·性能优化
栀椩4 小时前
springboot配置请求日志
java·spring boot·后端
番薯大佬4 小时前
Python学习-day8 元组tuple
java·python·学习
何似在人间5754 小时前
Go语言快速入门教程(JAVA转go)——1 概述
java·开发语言·golang
边疆.5 小时前
【C++】继承详解
开发语言·c++·继承
疯子@1235 小时前
nacos1.3.2 ARM 版容器镜像制作
java·linux·docker·容器