分析lua_State调用中的表元素

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

例如,当程序正在运行时,如果我在命令行中写入“addMesh({{0,0,0},{5,0,0},{0,0,5}})”,则将创建一个三角形,其角落在这些三个坐标上。

现在,我知道如何制作可以从命令行调用等功能,这不是我的问题。我的问题是这个:

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

迄今为止,根据我的所学,如果要(例如)如果发送的第一个参数是表,则可以使用luaL_checktype(L,1,LUA_TTABLE)。好吧,在这个例子中是正确的。但是我怎么能访问该表中的数据,比如其中的任何三个顶点?

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

点赞
用户2612002
用户2612002

如果您确认它确实是一个表格,您可以使用 lua_gettablelua_rawget 等函数遍历它。

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

此外,您版本的语言参考手册将成为您开始在 Lua 中编写 C 代码时最好的朋友。您可以在官方 Lua 网站上找到

希望这能帮到您。

2017-05-26 00:31:55