Lua 嵌套表,table.insert 函数



我开始学习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)

最新更新