首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LuaJava返回多个值

使用LuaJava返回多个值
EN

Stack Overflow用户
提问于 2012-03-09 01:53:25
回答 1查看 392关注 0票数 0

我需要能够从Java返回一个(X,Y)位置到Lua,但是我不知道怎么做。使用C,您只需将值推入堆栈,然后返回返回值的数量,但LuaJava似乎不是这样做的。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-09 03:15:46

问题可能是第一个参数始终是JavaFunction对象本身。假设您想要一个函数addmult,它接受两个数字,并返回它们的和和乘积。必须将数值参数作为索引2和3进行检索,如下所示:

代码语言:javascript
复制
JavaFunction addmult = new JavaFunction(L) {                
    @Override
    public int execute() throws LuaException {
        double x = L.toNumber(2);
        double y = L.toNumber(3);
        L.pushNumber(x+y);
        L.pushNumber(x*y);
        return 2;
    }
};
addmult.register("addmult");

现在,在您的代码中应该会得到类似的结果:

代码语言:javascript
复制
print(addmult(3, 5)) --> 8    13
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9622365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档