Direct cell {} indexing of class method output
Show older comments
Over the years, I've seen lots of posts (like this one) asking whether it is possible to append indexing operators to a function call, so as to extract partial contents from the function's output in a single command. The stock answer is that such syntax is not allowed. Lately however (R2017b), I have noticed that this is possible when a class method returns a cell array. Take the following class as an example,
classdef myclass
methods
function c=foo(obj)
c={pi,exp(1),1i};
end
end
end
I find that I can do the following kinds of post-indexing, which I reason shouldn't be allowed, since foo() is a function call, and not a class property
>> obj=myclass;
>> obj.foo{1}
ans =
3.1416
>> obj.foo{1:2}
ans =
3.1416
ans =
2.7183
My question is, has this always been possible? Is it documented anywhere?
Accepted Answer
More Answers (0)
Categories
Find more on Construct and Work with Object Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!