Lua 嵌套表,table.insert 函数

我开始学习Lua,现在正在尝试处理嵌套表。

基本上我想要创建一种使用JSON交互与Lua的本地“数据库”(我发现这是存储我的值的最佳方式)…

我应该做的是扫描聊天组中所有成员(我正在使用非官方电报API),并在表格中存储一些值。我已经能够检索所需的所有数据,因此在主要函数中声明了以下结构:

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)相同,因此这些不是问题)

gives错误"table expected"...我非常确定我完全不知道如何在我的这种表中插入元素。

你们有没有人能够帮我吗?我希望能清楚地解释我的问题。

提前感谢大家 :)

点赞
用户33252
用户33252

为了将新的用户名添加到现有用户中,您可能想要像这样将它插入到子表中:

table.insert(dbs[tostring(id)]['users'][tostring(v.peer_id)].us_name, v.print_name)
2016-03-15 22:57:20