繁体   English   中英

通过 C/C++ 在 lua 中创建/访问嵌套表

[英]Create/access nested tables in lua via C/C++

如何创建嵌套表? 遗憾的是,我的方法不起作用。 我认为lua_newtable 会在堆栈上推送一个新表,如果我执行lua_settable应该设置键值对,但显然我错了。

/* 
 * local transform = GetTransform()
 * print("Translation: " .. transform.Translation.x)
 */

lua_newtable(L);
int index = lua_gettop(L);
lua_pushstring(L, "Translation");
{
    lua_newtable(L); // Table inside table

    lua_pushstring(L, "x");
    lua_pushvalue(L, 0);
    lua_settable(L, -3);

    lua_pushstring(L, "y");
    lua_pushvalue(L, 0);
    lua_settable(L, -3);

    lua_pushstring(L, "z");
    lua_pushvalue(L, 0);
    lua_settable(L, -3);
}
lua_settable(L, index);

没关系,我醒来发现我使用了 lua_pushvalue而不是lua_pushnumber
感谢帮助:D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM