Expected one output from a curly brace or dot indexing expression, but there were 2 results, when re-initialize an object array
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Cheng-Hung He
le 13 Mar 2021
Modifié(e) : Cheng-Hung He
le 19 Mar 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 commentaires
Réponse acceptée
Shubham Rawat
le 17 Mar 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!
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!