2011-04-13 78 views
1

我增加了裝載和使用LuaJava到Java Lua腳本的執行,但是當我運行一個腳本,例如:LuaJava不運行腳本,直到接近

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

聽起來像輸出正在被緩衝,直到輸出流被關閉時才被刷新。您將不得不提供更多關於如何實例化Lua解釋器的細節,以及如何在Java中綁定其輸出流。 – 2011-04-13 19:35:14

+0

我發佈了我的java代碼 – Connor 2011-04-13 19:38:58

回答

1

用於標準輸出/標準錯誤緩衝數據流。您需要顯式刷新有問題的緩衝區。例如。你可以試試'state.LdoString(「io.flush();」);