c - 如何在 lua_getfield 中使用方括号

标签 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;
    }

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

最佳答案

tbl = { [[block_ip]] = true; } It is possible adding Square brackets? If so how can I add?

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

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

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

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

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

tbl = {
       [[[block_

        ip]]] = true;
}

关于c - 如何在 lua_getfield 中使用方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643733/

相关文章:

c - Lua脚本: embed C code to run automatically at the start of a while loop

c - 在 C 编程中将当前日期和时间转换为 2 个不同的变量

足够困难地学习的 C 环境

c - 制作全局变量 "hidden"和 "aliased"

c - 测试 malloc 何时返回 NULL

colors - 如果我有调色板,找到最接近的网络安全颜色

lua - 获取表项索引

c - 如何使用C将数据写入二进制文件

c - luaL_loadfile 还会预加载 lua 文件中的所有 dofile() 吗?

lua - 使用Lua调用C(Linux中)