我试图让一个在 LuaJava 中工作的简单函数(添加两个数字)。我对 Lua 的经验很少,并且发现这很困难,因为我无法找到 LuaJava 的深入文档。我目前可以从 lua 打印到 java 控制台,但除此之外什么也没有。
我尝试实现了一些方法,但每次都得到相同的错误:
PANIC: unprotected error in call to Lua API (attempt to call a nil value)
这是我正在使用的代码:
import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;
public class Hello {
public static void main(String[] args) {
LuaState l = LuaStateFactory.newLuaState();
l.openLibs();
l.LdoFile("main.lua");
l.call(0, 0);
l.getGlobal("add");
l.pushInteger(1);
l.pushInteger(1);
l.call(2, 1);
int result = l.toInteger(1);
l.pop(1);
System.out.println("1 + 1 = " + result);
}
}
和 Lua 文件:
function add(a, b)
return a + b
end
我的 IDE 是 Eclipse。提前感谢您的帮助。