簡體   English   中英

從 c++ lua 參考索引中獲取表 lua

[英]Get table from c++ lua reference index in lua

首先很抱歉這個奇怪的標題:(我使用 lua 作為我的游戲的腳本語言,我有一個問題:我正在創建 lua 表實例並將它們存儲在索引“ref_idx”中,如下所示:

lua_newtable(L);
lua_getglobal(L, "TestTable"); // create instance of table "TestTable"
lua_pcall(L, 0, 1, 0);
ref_idx = luaL_ref(L, LUA_REGISTRYINDEX);

當我想調用其中一個方法時,我使用:

lua_rawgeti(L, LUA_REGISTRYINDEX, ref_idx);
lua_getfield(L, -1, "testMethod");
lua_pushvalue(L, -2);
lua_pcall(L, 1, 0, 0));
lua_pop(L, 0);

當我完成參考時:

luaL_unref(L, LUA_REGISTRYINDEX, ref_idx);

一切正常,問題是我想在 lua 中直接使用這些參考,例如:

function onUpdate()
   local ref = GetReferenceFromC++() -- returns ref_idx 
   ref:testMethod()
end

有什么幫助或方法嗎? (對不起我的英語,我正在努力)

我使用debug.getregistry()[ref]:testMethod()並且它有效,感謝@EgorSkriptunoff 的快速回復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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