在lua_State调用中分析表中的元素

时间:2017-05-25 23:20:50

标签: c lua

所以我试图为lua和irrlicht编写一个程序,目前我正在创建一个函数来创建一个可以从命令行实时调用的网格(在这种情况下,一个简单的三角形)。

例如,在程序运行时,如果我写" addMesh({{0,0,0},{5,0,0},{0,0,5}})&#34 ;在命令行中,将在这三个坐标处使用它的角来制作三角形。

现在,我知道如何创建可以从命令行调用的函数,这不是我的问题所在。我的问题是:

int addMesh(lua_State* L){
    luaL_checkType(L, 1, LUA_TTABLE);
}

到目前为止,我已经被教过,如果你想(例如)发送的第一个参数是一个表,你可以使用luaL_checktype(L,1,LUA_TTABLE)。那么,在这个例子中,这是真的。但是,如何访问数据中的数据,就像其中的三个顶点中的任何顶点一样?

我需要访问它们并分析它们的数据,以便我可以从它们创建一个简单的网格。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

检查后它实际上是一个表格,您可以使用lua_gettablelua_rawget等函数遍历它。

Programming in Lua是一个很好的起点,其他长期资源如lua-users也可能提供有用的示例。

此外,一旦您开始在Lua周围编写C代码,您的语言版本的参考手册将成为您最好的朋友。您可以在Lua官方网站上find it

希望有所帮助。