我在Lua中定义了以下嵌套表。我需要将它传递给我的C ++程序,以便我可以准确地读取它的值。我知道我可以使用
将一个表传递给Lualua_getglobal(L, "parameters")
功能。但是在这种情况下,因为它是嵌套的,我该如何处理呢?
parameters =
{
fuel = 100,
damage = 250,
maxspeed = 250,
levels =
{
{
fuel = 200,
damage = 600,
maxspeed = 300,
},
{
fuel = 300,
damage = 750,
maxspeed = 400,
},
}
}
答案 0 :(得分:1)
lua_getglobal
将像其他任何变量一样适用于“参数”。您将收到堆栈顶部的表格。在那里,您可以使用lua_gettable()
,lua_getfield()
和lua_rawget*()
函数访问其字段。表嵌套这一事实对访问它没有任何区别。要访问子表,请使用这些函数将其推送到堆栈,并以与“父”表相同的方式访问它。