LuaJava在关闭之前不运行脚本

LuaJava在关闭之前不运行脚本,java,lua,Java,Lua,我已经使用LuaJava将lua脚本的加载和执行添加到java中,但是当我运行以下脚本时: print("works") 在程序停止运行之前,它不会显示 这是我的Java代码: LuaState state = LuaStateFactory.newLuaState(); state.openLibs(); state.LdoString(scripts.get(name)); state.close(); 编辑:使用此代码修复: LuaState state = LuaStateFacto

我已经使用LuaJava将lua脚本的加载和执行添加到java中,但是当我运行以下脚本时:

print("works")
在程序停止运行之前,它不会显示

这是我的Java代码:

LuaState state = LuaStateFactory.newLuaState();
state.openLibs();
state.LdoString(scripts.get(name));
state.close();
编辑:使用此代码修复:

LuaState state = LuaStateFactory.newLuaState();
state.openLibs();
state.LloadString(scripts.get(name));
state.call(0, 0);
state.close();

用于stdout/stderr的流正在缓冲数据。您需要显式地刷新有问题的缓冲区。例如您可以尝试“state.LdoString”(“io.flush();”)

用于stdout/stderr的流正在缓冲数据。您需要显式地刷新有问题的缓冲区。例如您可以尝试“state.LdoString”(“io.flush();”)

听起来好像输出正在被缓冲,直到输出流关闭才被刷新。您必须提供更多关于如何实例化Lua解释器以及如何在Java中绑定其输出流的详细信息。听起来输出正在被缓冲,直到输出流关闭后才会刷新。您必须提供更多关于如何实例化Lua解释器以及如何用Java绑定其输出流的详细信息。