我使用luaL_loadfile然后lua_pcall从我的游戏加载脚本,并想知道如果不是将它们加载到全局表中,我可以将它们加载到以其文件名命名的表中吗?
例如:
我有一个名为"Foo.lua"的文件,其中包含:
function DoSomething()
--something
end
Run Code Online (Sandbox Code Playgroud)
加载后我希望能够访问它:
Foo.DoSomething()
Run Code Online (Sandbox Code Playgroud)
谢谢!
尝试这样的事情.不要忘记添加错误检查...
lua_newtable(L);
lua_setglobal(L,filename);
luaL_loadfile(L,filename);
lua_getglobal(L,filename);
lua_setfenv(L,-2);
lua_pcall(L,...);
Run Code Online (Sandbox Code Playgroud)