Setting object properties without returning the object using obj = obj.myfun(obj,argin)
Mostrar comentarios más antiguos
Hello all,
I have a syntax question. I want to be able to set or add to properties of a custom class, but without using the cumbersome "obj = setPar1(obj,argin)" syntax, where the method setPar1 is some function that determines my object's new properties based on the current properties, and argin.
Here is a clear working example of what I mean:
p = inputParser();
addParameter(p,'par1',[])
addOptional(p,'par2',[],@ischar)
parse(p,varargin{:})
Really, this is three different examples. I am modifying my object p (an inputParser) by adding optional parameters, defaults, and validation functions. Then I am applying the method parse to p, using varargin{:} as the optional input. All of these modify the internal properties of p. This is all done without using something like
p = addParameter(p,'par1',[]);
Ideally, I want something closer to:
p.addParameter('par1',[]);
but would be fine with the above working example. How do I do this?
2 comentarios
D. Plotnick
el 14 de Nov. de 2018
Guillaume
el 14 de Nov. de 2018
ishandle does not check if a variable is an instance of a handle class. It checks if the object is a graphic or java handle.
To check if a class is a handle class:
>> superclasses('inputParser')
Superclasses for class inputParser:
matlab.mixin.Copyable
handle
It is a handle class.
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Argument Definitions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!