Creating a new object from existing object but after excluding one specific property.

3 visualizzazioni (ultimi 30 giorni)
Hi All,
I want to copy an object from exsiting object but don't want to copy all the properties, more specifically one perticular property.
Problem i am facing is that i don't know all the perperties exisiting in the object from which i am copying. But if there is this one property in this object, i want to exclude it and copy rest of the object to the new object. For example i have obj1:
function obj1 = obj1
obj1.A = 10;
obj1.B = 20;
obj1.C = 30;
end
And now i copy this object to a new obj:
x = obj1
y = obj2(x)
function obj2 = obj2(x)
obj2 = x(x.*!=x.C)
end
In second part of code, line number 5 has syntax error on purpose to represent what i want. I

Risposta accettata

J. Alex Lee
J. Alex Lee il 11 Ago 2020
If you actually mean structures, as your example suggests, are you aware of "isfield", which will check if a structure contains a particular field name?
If you actually mean objects/classes, then there is "isprop" to check if a particular property exists.
  4 Commenti
Walter Roberson
Walter Roberson il 11 Ago 2020
Modificato: Walter Roberson il 12 Ago 2020
On some cases it might make sense to subclass from mixins and implement a copy method excluding particular properties.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Construct and Work with Object Arrays in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by