我想打电话:
LuaState.pcall(num_args,num_returns, error_handler_index).
我需要知道如何为这个函数设置错误处理程序。事实上,我认为如果有人展示了如何调用 Lua 函数并使用 LuaJava 返回数值结果,那就太好了。这可能会节省大量时间和问题。我正在寻找但没有找到错误函数的签名,以及如何将其放置在 LuaState 堆栈上的正确位置。所有 Java->Lua 示例要么打印一个没有返回的值,要么在使用 Lua 传入的 Java 对象上设置值。我想看看如何直接调用 Lua 函数并返回结果。
更新:一种解决方案是通过为错误处理程序传递零来使用 LuaState.pcall(1,1,0) 不传递错误处理程序:
String errorStr;
L.getGlobal("foo");
L.pushNumber(8.0);
int retCode=L.pcall(1,1,0);
if (retCode!=0){
errorStr = L.toString(-1);
}
double finalResult = L.toNumber(-1);
加载 calc.lua 的位置:
function foo(n)
return n*2
end
现在有没有办法设置错误处理程序?谢谢