How can I access the methods of a returned object?
显示 更早的评论
I'd like to achieve the following, but don't know if it's possible.
I have a function that returns an object of a class. The returned object has a method. I'd like to access the method inline.
For example, say I have a class called myclass, with a method called classmethod. I also have a standalone function, myfunc, that takes a numeric argument and returns an instance of myclass. If I say...
obj = myfunc(123);
obj.classmethod();
...then everything is fine, although the workspace now has an additional variable (obj). Is it possible to say the following?
myfunc(123).classmethod();
I keep getting this error "??? Undefined variable "myfunc" or class "myfunc"."
Thanks, Alex
采纳的回答
更多回答(1 个)
Philip Borghesani
2014-11-25
Don't use dot to call the method:
classmethod(myfunc(123));
In MATLAB with standard objects there is no difference between obj.method(...) and method(obj,...) .
*By standard objects I mean one that does not have an overloaded subsref function.
类别
在 帮助中心 和 File Exchange 中查找有关 Function Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!