我开始通过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调用时什么也不做,但是在通过控制台执行时效果很好?
答案 0 :(得分:2)
我没有尝试或看到过这样的函数。但您可以像这样从Java调用hello()
函数:
LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);