[英]What should a C function called from Lua that pushes a table return?
當編寫一個將表推入堆棧的C函數作為Lua調用者的返回值時,它應該在C上下文中返回什么? 我知道你應該返回你傳遞回Lua調用者的值的數量,但是對於表來說,表引用是1,還是需要考慮表的內容?
傳回我正在使用的表的方法顯示在“ 推送Lua表”中。
你只是直接返回一個lua值,所以你的C函數應該返回1。
像這樣的東西:
int my_table( luaState * L) {
lua_newtable(L);
lua_pushstring(L, "a_key");
lua_pushstring(L, "a_value");
lua_settable(L, -3);
return 1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.