2011-06-22 11 views

答えて

15

はい。あなたはLUA_MULTRETを使用して、呼び出しの前と後のスタックのトップを把握するためにlua_gettopを使用

int top = lua_gettop(L); 
luaL_loadstring(L, "return 3, 4, 5"); 
int R = lua_pcall(L, 0, LUA_MULTRET, 0); 
int nresults = lua_gettop(L) - top; 

+0

ありがとうございます!上記の(正しい)サンプルは、もし関数が既に存在するならば、スタック上の関数をプッシュするために 'luaL_loadstring' *を使っています(私の場合のように)nresultsは+1が必要になりますが、あなたは結果の数が間違ってしまうでしょう(私の場合のように...)。 – Rick77

関連する問題