luaL_loadstring(L,"return 3,4,5"); int R = lua_pcall(L,3,0);
Lua可以返回多个值.但是目前我必须硬编码返回值的计数.我可以在运行时动态地知道计数吗?
int top = lua_gettop(L); luaL_loadstring(L,5"); int R = lua_pcall(L,LUA_MULTRET,0); int nresults = lua_gettop(L) - top;
您使用LUA_MULTRET,然后使用lua_gettop找出在调用之前和之后堆栈的顶部.