如何在 lua_getfield 中使用方括号

我有一个名为conf.lua的文件,其中有以下代码:

tbl ={
    block_ip = true;
}

我有以下代码C:

lua_getglobal(L, "tbl");
lua_getfield(L, -1, "block_ip");
ip->ip_str = lua_toboolean(L, -1);

代码运行完美。但我想用以下方式:

tbl ={
        [[block_ip]] = true;
    }

可以添加方括号吗?如果可以,我该如何添加?

点赞
用户501459
用户501459
tbl = {
    [[block_ip]] = true;
}

有可能添加方括号吗?如果是这样,我该怎么添加?

可以,但您需要一个在中间的字符串中使用单个方括号:

tbl = {
       ["block_ip"] = true;
}

Lua允许使用双方括号作为字符串引号,因此您_可以_像这样编写上面的代码:

tbl = {
       [[[block_ip]]] = true;
}

但是除非引用的文本包含换行符,否则这是不必要的,这将是奇怪的:

tbl = {
       [[[block_

        ip]]] = true;
}
2015-11-11 15:31:07