4

我正在尝试从 Lua 表中获取值。这是我在 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 文件是否正确加载。我究竟做错了什么?

4

1 回答 1

3

更改%i%glua_tonumber返回 float 或 double,而不是 int。

于 2015-03-18T20:58:58.323 回答