运行LuaJava Hello,World程序时没有控制台输出

时间:2012-04-03 18:34:38

标签: java lua luajava

我开始通过LuaJava学习Java中的Lua脚本用法;我的IDE是Eclipse。

但是当我执行这个简单的Hello World片段时,Eclipse控制台中没有输出。

here

获取代码段
package com.cpg.lua;

import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;

public class Hello
{
public static void main(String[] args)
{ 
  LuaState luaState;
  luaState = LuaStateFactory.newLuaState();
  luaState.openLibs();
  luaState.LdoFile("hello.lua");
  luaState.close();
}
}

hello.lua

function hello()
    print("Hello World from Lua!") 
end

hello()

但是下面的脚本效果非常好。

hello2.lua

print("Hello World from Lua!") 

任何人都知道为什么带有函数定义的脚本在从Java调用时什么也不做,但是在通过控制台执行时效果很好?

1 个答案:

答案 0 :(得分:2)

我没有尝试或看到过这样的函数。但您可以像这样从Java调用hello()函数:

LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);