How to use a moon variable in C++?

I can't get value from an array in Lua to use in C++.

So I get the value of the variable M:

//No LUA    
M = 85  

//No C++    
L = lua_open();
luaL_loadfile(L, "teste.lua");
lua_pcall(L, 0, 0, 0);

int m;

lua_getglobal(L, "M");
m = lua_tonumber(L, -1);

cout << m;

But I don't know how to get the index value of an array as follows below:

// LUA
MATRIZ =
{

   {4,2,2,6},
   {2,1,1,2},
   {2,1,1,2},
   {5,2,2,3}

}

How to get the value of this array?

 6
Author: bfavaretto, 2014-08-13

1 answers

You can use the lua_gettable method.

  1. you need to add the index to the stack via lua_pushinteger.
  2. the key is overlaid with the element.

You can also try:

lua_getglobal(L, "MATRIZ")
lua_rawgeti(L,-1,1) -- {4,2,2,6}
lua_rawgeti(L,-1,2) -- 2

Solutions coming from my question in StackOverflow (EN).

 4
Author: Victor Martins, 2017-05-23 12:37:23