class of returns from get() with 1 vs. mutliple handles
Show older comments
Get(h,'parameter') always returns a cell if h contains more than one handle, but if h is a single handle it returns a value of the class of the parameter.
The result is that a special case needs to be written to handle the return if h is of length 1. Is there a way to avoid this so that get always returns a cell even if it is of length one?
Example: >> for i=1:5;h(i)=line(i,i);set(h(i),'userdata',x);end
>> class(get(h,'userdata')) ans = cell
>> class(get(h(i),'userdata')) ans = double
Accepted Answer
More Answers (2)
Fangjun Jiang
on 7 Mar 2011
1 vote
I don't have an answer but I want to second your opinion. I found this inconvenient many times. What I usually do is to add a line to process the result.
if ~iscell(answer),answer={answer};end
Peter
on 8 Mar 2011
0 votes
Categories
Find more on Cell 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!