1

我在 Lua 中定义了以下嵌套表。我需要将它传递到我的 C++ 程序中,以便我可以准确地读取它的值。我知道我可以使用

lua_getglobal(L, "parameters") 

功能。但是在这种情况下,既然是嵌套的,我该如何处理呢?

parameters = 
{ 
     fuel = 100,         
     damage = 250,
     maxspeed = 250,
     levels = 
     {
         { 
             fuel = 200,
             damage = 600, 
             maxspeed = 300,                 
         },
         { 
             fuel = 300,
             damage = 750,
             maxspeed = 400, 
         },                    
     }
}
4

1 回答 1

1

lua_getglobal就像任何其他变量一样,它将适用于“参数” 。您将收到位于堆栈顶部的表格。在那里,您可以使用lua_gettable(),lua_getfield()lua_rawget*()函数来访问其字段。表是嵌套的这一事实在访问它时根本没有区别。要访问子表,请使用这些函数将其压入堆栈,并以与其“父”表相同的方式访问它。

于 2014-07-08T07:26:54.020 回答