gpt4 book ai didi

c++ - 如何从 C++ 中的 Lua 函数获取返回表?

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:56 25 4
gpt4 key购买 nike

我正在尝试找出如何从 C++ 中的 Lua 函数获取返回的表。

我的代码:

if (lua_pcall(L, 0, 1, 0)) {
std::cout << "ERROR : " << lua_tostring(L, -1) << std::endl;
}
vector<float> vec;

if (lua_istable(L, -1) {

//how to copy table to vec?
}

如果表格大小未知,如何将返回的表格复制到 vector 中?谢谢!

最佳答案

我想我找到了使用 lua_next 的方法。

lua_getglobal(L, name);

if (lua_pcall(L, 0, 1, 0)) {
std::cout << "ERROR : " << lua_tostring(L, -1) << std::endl;
}
vector<float> vec;

if (lua_istable(L, -1) {

lua_pushvalue(L, -1);
lua_pushnil(L);

while (lua_next(L, -2))
{

if (lua_isnumber(L, -1))
{
vec.push_back(lua_tonumber(L, -1));
}
lua_pop(L, 1);
}
lua_pop(L, 1);
}

关于c++ - 如何从 C++ 中的 Lua 函数获取返回表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063716/

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