ディクショナリテーブルを返すLua関数があり、返されたテーブルに入れられる値の1つは、次のLua関数に示されている別のテーブルです。
function tableWithinTable()
local ret = {}
ret["a"] = 1
ret["b"] = {1,2,3}
ret["c"] = 3
return ret
end
その内部テーブルにアクセスするにはどうすればよいですか?
次のifステートメントを入力できるので、テーブルにアクセスできることはわかっています。表を読む私の現在の試みも含まれています。
lua_pushstring("b");
lua_gettable(lua,1);
if(lua_istable(lua,-1))
{
//whatever is in here is executed.
lua_pushnumber(lua,1);
lua_gettable(lua,-1); //crashes to desktop here
std::cout << lua_tonumber(lua,-1) << std::endl;
lua_pop(lua,1);
}
これには簡単な解決策があると確信していますが、私は完全に困惑しています。どんな助けでも大歓迎です。