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