【问题标题】:LuaJava not running script until closeLuaJava 直到关闭才运行脚本
【发布时间】:2011-08-04 23:55:28
【问题描述】:

我已经使用 LuaJava 向 java 添加了加载和执行 lua 脚本,但是当我运行如下脚本时:

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();

【问题讨论】:

  • 听起来输出正在被缓冲,直到输出流关闭才被刷新。您将不得不提供有关如何实例化 Lua 解释器以及如何在 Java 中绑定其输出流的更多详细信息。

标签: java lua


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 2022-12-31
    • 2015-08-18
    • 2011-02-23
    • 2012-11-13
    • 1970-01-01
    • 2013-05-17
    • 2015-02-17
    • 1970-01-01
    相关资源
    最近更新 更多