gpt4 book ai didi

c++ - 返回多个表给C++,如何知道返回的表名

转载 作者:行者123 更新时间:2023-11-30 05:37:34 25 4
gpt4 key购买 nike

我正在使用 Lua 实现一些功能,结果放在表s 中并返回到 C++ 代码。比如在Lua的最后,我把这些tables返回给C++

return names, ages, courses

现在在 C++ 中,我需要读取返回的表中的元素。我怎样才能知道表的名称,以便知道要检索哪些元素?换句话说,以下 sudo 代码说明了我想做什么:

if table_name == "names":  //some commands can realize this?
lua_getfield(L, -1, "Tom");
the_name = lua_tostring(L, -1);
cout << the_name << endl;
Lua_pop(L, 1);
elif table_name == "ages": //similar to last comment...
lua_getfield(L, -1, "girls");
the_age = lua_tostring(L, -1);
....... //some operations

有人知道吗?顺便说一句,我在 win7 上使用 Lua5.3.1

最佳答案

您不会知道这些表之前存储的变量名,但您的 Lua 函数会按特定顺序返回它们。在 C++ 中,这些表放在堆栈上,因此 courses 是最高值,ages 是下一个值。

关于c++ - 返回多个表给C++,如何知道返回的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33165851/

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