小编ope*_*nas的帖子

从lua返回一个没有全局的表到C

我在C中有一个名为GetParameter的方法.我想从Lua中使用它.此方法将再次向Lua返回一些值.

我在C中构建表的方式是最常见的方式:

lua_newtable(L);
for (int i = 0; i < parameters; i++)
{
    lua_pushnumber(L,i);
    lua_pushstring(L,myParameter);
    lua_settable(L,-3);
}
Run Code Online (Sandbox Code Playgroud)

在我看过的所有示例中,在此之后,您必须使用lua setGlobal设置结果表:

 //set name for the result
 lua_setglobal(ptLuaState, "resultTable");
Run Code Online (Sandbox Code Playgroud)

使用这种方法,我可以访问lua中的结果表,如下所示:

GetParameter("V111","V111Parameter")
printTable(resultTable);
Run Code Online (Sandbox Code Playgroud)

这样做一切顺利,但是,如果不使用setglobal,还有另一种方法吗?我试过做类似的事情:

local mytable=GetParameter("V111","V111Parameter");
Run Code Online (Sandbox Code Playgroud)

但不起作用.使用全局变量更好?如何在不创建setglobal的情况下获取结果表?

提前致谢!

c++ variables lua global lua-table

3
推荐指数
1
解决办法
535
查看次数

标签 统计

c++ ×1

global ×1

lua ×1

lua-table ×1

variables ×1