3

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

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

这里获取代码片段

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

你好.lua

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

hello()

但是下面的脚本运行良好。

你好2.lua

print("Hello World from Lua!") 

任何人都知道为什么当从 Java 调用但通过控制台执行时,内部具有函数定义的脚本什么都不做?

4

1 回答 1

2

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

LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);
于 2012-04-03T19:29:26.300 回答