如何在lua_getfield中使用方括号

时间:2015-11-11 03:19:47

标签: c lua

我有一个名为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;
    }

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

1 个答案:

答案 0 :(得分:0)

  

tbl = {          [[block_ip]] = true;   }   可以添加方括号吗?如果是这样,我该如何添加?

是的,但是你想要一个带有中间字符串的单个括号:

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

Lua允许使用双括号作为字符串引号,因此可以编写上面的内容,如下所示:

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

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

tbl = {
       [[[block_

        ip]]] = true;
}