Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在设计一个API(使用Java),希望用户能够从Matlab访问该API。问题是我希望API提供以下功能:
javaApi.waitUntilPredicateIsTrue(Predicate test); 我的API(在后台)获得了Java Obj实例(通过某种机制,例如polling )。我希望此API方法能够阻塞,直到这些实例之一传递给Predicate评估为true 。如果我是从Java调用此API,则可以执行以下操作: javaApi.waitUntilPredicateIsTrue(new Predicate() { public boolean evaluate(JavaObj jo) { return "READY".equals(jo.getState()); } }); 你明白了。 如何在Matlab中调用它?我可以使用Matlab中的匿名内部类吗?我可以声明一个扩展接口Predicate的Matlab classdef (这可以应付Java通用版本)吗? 回答: 这听起来像一个棘手的问题。我仍在运行R2006b,因此可能已更改,但是MATLAB似乎不会将函数句柄(包括匿名函数)和结构转换为Java对象。我不了解MATLAB自定义类,因为语法已更改。字符串,数组和单元格数组将正确转换 。他们根本不评论实现接口。 (:p:p:p嘘) 编辑:刚刚在Matlab Central上找到此页面,它讨论了一些未记录的接口。 更多&回答... |
![]() |
![]() |