【问题标题】:C++ Lua Getting Value From Lua TableC++ Lua 从 Lua 表中获取价值
【发布时间】:2015-05-21 20:10:51
【问题描述】:

我正在尝试从 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 文件是否正确加载。我做错了什么?

【问题讨论】:

    标签: c++ lua lua-table lua-api


    【解决方案1】:

    将%i 更改为%g。 lua_tonumber 返回 float 或 double,而不是 int。

    【讨论】:

    • 天哪,我现在觉得自己好蠢。我花了 40 多分钟试图解决这个问题。非常感谢
    猜你喜欢
    • 2021-03-11
    • 2020-05-05
    • 2014-08-27
    • 1970-01-01
    • 2014-12-24
    • 2015-03-26
    • 2015-09-02
    • 2021-06-13
    • 1970-01-01
    相关资源
    最近更新 更多