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

我正在开始学习Lua脚本在Java中的使用,使用LuaJava;我的IDE是Eclipse。

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

从这里获取代码片段(http://w3.impa.br/~rbs/pdf/GAMEON-NA07.pdf)

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中呼叫带有函数定义的脚本时什么也不做,但是当通过控制台执行时完美无误吗?

原文链接 https://stackoverflow.com/questions/9999270

点赞
stackoverflow用户334274
stackoverflow用户334274

我没有尝试过或者见过这样的一个函数。但是你可以像这样从Java中调用hello()函数:

LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);
2012-04-03 19:29:26