Expected one output from a curly brace or dot indexing expression, but there were 2 results, when re-initialize an object array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Cheng-Hung He
am 13 Mär. 2021
Bearbeitet: Cheng-Hung He
am 19 Mär. 2021
I am encountering this issue when I was working on clearing/re-initializing an object array.
A sample code snippet is here:
classdef classObj1
properties
a;
b;
c;
end
end
classdef classObj2
properties (Access = private)
obj1_arr;
end
methods
function addtoArr(obj, e)
obj.obj1_arr(end + 1) = e;
end
function clearArr(obj)
obj.obj1_arr = classObj1.empty(1, 0);
end
function setArr(obj, r)
obj.obj1_arr = r;
end
end
end
Everytime I create an classObj2, I will initialize its property, so the obj1_arr should be an 1d empty array of classObj1.
a = classObj2();
a.setArr(classObj1.empty(1, 0));
and add something to the array, everything is fine until here.
for i = 1:10
o = classObj1();
o.a = 1; o.b = 2; o.c = 3;
a.addtoArr(o)
end
However, when I try to call the clearArr() function, I get the following error message:
Expected one output from a curly brace or dot indexing expression, but there were 2 results.
on the line:
obj.obj1_arr = classObj1.empty(1, 0);
I have done my work on reading some posts for the reason and solution. e.g. using delete(), clear(), or obj.obj1_arr(:) = []; Unfortunately they don't work, and the identical error message is presented on the same line.
What I am trying to do is just clearing all elements in the obj1_arr since I would like to reuse it later without the data set in previous rounds, which is similar to list.clear() in python.
I appreciate any help that can assist me in solving this issue.
0 Kommentare
Akzeptierte Antwort
Shubham Rawat
am 17 Mär. 2021
Hi Cheng-Hung,
You had done spelling mistake inside the clearArr() function in the following line:
obj.obj1_arr = classObj1.empty(1, 0);
you had written classobj instead it is classObj.
Hope this Helps!
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!