我开始通过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调用但通过控制台执行时,带有函数定义的脚本什么都不做呢?
最佳答案
我还没有尝试过或看到过这样的函数。但是您可以像这样从Java调用hello()
函数:
LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);