在我的代码中,我需要将一个int推送到Lua的堆栈上。我知道C的lua_pushnumber,但是在LuaJ中会使用什么?鉴于LuaJ对于代表某些C函数的函数尚不清楚,所以我找不到适合它的函数。

最佳答案

LuaJ将诸如堆栈管理之类的东西抽象化了。因此,如果您尝试调用Lua函数,则不必将值压入堆栈。只需将Lua函数作为LuaFunction变量获取,然后使用invoke方法进行调用即可。要从在Lua中注册的Java函数返回多个值,必须返回一个Varags对象。您将多个值放入其中。

09-16 04:50