|
|
||
|
This is a great tool and will help plenty, as I am just learning Lua C API. I think however there is an issue with the following:In:print(math.pi)Out:static int lua_openmodule(lua_State* L) {
lua_getglobal(L, "print");
lua_getglobal(L, "math");
lua_getfield(L, 1, "pi");
lua_call(L, 1, 0);
return 0;
}The above appears to fail on 2 points:1) lua_getfield(L, 1, "pi"); should be: lua_getfield(L, -1, "pi"); as we don't nesc. know what is 1st on Stack2) There is a need to remove "math" from the Stack. i.e. lua_remove(L, -2); so the lua_call will act on func: "print" and val of: "pi"Working:static int lua_openmodule(lua_State* L) {lua_getglobal(L, "print");
lua_getglobal(L, "math");
lua_getfield(L, -1, "pi");
lua_remove(L, -2);
lua_call(L, 1, 0);return 0;}--Sam