gpt4 book ai didi

lua - 如何从 C 结构创建 Lua 表

转载 作者:行者123 更新时间:2023-12-04 07:19:32 31 4
gpt4 key购买 nike

我正在尝试从 C 创建一个 Lua 表。我遇到了一个问题:
我正在尝试使用 C 创建一个 Lua 表。
表应该是这样的:

CharList = {
[1] = {name = "Kyra", is_monster = false}
[2] = {name = "Saya", is_monster = false}
[3] = {name = "Imp", is_monster = true}
}
但是这样做的例子是多种多样的,我似乎无法让它发挥作用。
我最后一次失败的尝试:
lua_createtable(L, cl->num_chars, 2);
for(i=0;i<cl->num_chars;i++)
{
character_t *c = &cl->list[i];

lua_pushstring(L, c->name);
lua_setfield(L, -2, "name");

lua_pushboolean(L, c->is_monster);
lua_setfield(L, -2, "is_monster");

lua_settable(L, -3);
}
lua_setglobal(L, "charList");

最佳答案

您需要创建子表:

character_t *c = &cl->list[i];
lua_pushinteger(L, i+1);
lua_createtable(L, 0, 2);
...

关于lua - 如何从 C 结构创建 Lua 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68590253/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com