簡體   English   中英

應該從Lua調用C函數來推送表返回什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM