Question:
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:
// 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?
Answer:
You can use the lua_gettable
method.
- You need to add the index to the stack via
lua_pushinteger
. - 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 on StackOverflow (EN).