我开始学习Lua,现在我正在尝试处理嵌套表。
基本上我想使用 json 与 lua 的交互创建一种本地"数据库"(我发现这是存储我的值的最佳选择)......
我应该做的是扫描聊天组内的所有成员(我使用的是非官方的电报 API)并将一些值存储在表中。我能够检索所需的所有数据,所以这是在 main 函数中声明的结构:
local dbs = load_data("./data/database.json")
dbs[tostring(msg.to.id)] = {
gr_name = {},
timestamp = "",
user = { --user changes into user ids
us_name = {},
us_nickname = {},
us_role = ""
},
}
其中 msg.to.id 包含有效数字。这是我试图做的:
dbs[tostring(id)]['users'][tostring(v.peer_id)]['us_nickname'] = v.username
这个有效,但这个:
dbs[tostring(id)]['users'][tostring(v.peer_id)] = table.insert(us_name,v.print_name)
(id 是一个正确的数字,与第一个字段匹配,与传递的所有值(如 v.peer_id 和 v.print_name)相同,因此这些不是问题)
给出错误"预期表"...我很确定我完全不知道如何在像我这样的表中插入元素。
你们谁能这么好心帮我?我希望足够清楚地解释我的问题。
提前感谢大家:)
要将新用户名添加到现有用户,您可能希望将其插入到子表中,如下所示:
table.insert(dbs[tostring(id)]['users'][tostring(v.peer_id)].us_name, v.print_name)