C++ Lua 从 Lua Table 获取价值
C++ Lua Getting Value From Lua Table
我正在尝试从 Lua table 中获取值。这是我在 Program.cpp:
中写的
lua_State* lua = luaL_newstate();
luaL_openlibs(lua);
luaL_dofile(program->getLuaState(), "Script.lua");
lua_getglobal(lua, "table");
lua_pushstring(lua, "x");
lua_gettable(lua, -2);
printf("%i", lua_tonumber(lua, -1));
我在 Script.lua 中写道:
table = {x = 12, y = 32}
问题是这只会在控制台中写入 0。我已检查 lua 文件是否正确加载。我做错了什么?
将 %i
更改为 %g
。 lua_tonumber
returns 浮点数或双精度数,而不是整数。
我正在尝试从 Lua table 中获取值。这是我在 Program.cpp:
中写的lua_State* lua = luaL_newstate();
luaL_openlibs(lua);
luaL_dofile(program->getLuaState(), "Script.lua");
lua_getglobal(lua, "table");
lua_pushstring(lua, "x");
lua_gettable(lua, -2);
printf("%i", lua_tonumber(lua, -1));
我在 Script.lua 中写道:
table = {x = 12, y = 32}
问题是这只会在控制台中写入 0。我已检查 lua 文件是否正确加载。我做错了什么?
将 %i
更改为 %g
。 lua_tonumber
returns 浮点数或双精度数,而不是整数。