arguments struct expand like inputParser

29 visualizaciones (últimos 30 días)
Paul Villain
Paul Villain el 30 de Oct. de 2022
Respondida: Paul Villain el 31 de Oct. de 2022
Hi to anybody who could enlighten me
Matlab's arguments synthax is excelent for function's input validation and allow for very usuefull tip to the end user when using the function. However I found myself wondering if argument would replace inputParser in the future. I find inputParser to be way more flexible than arguments and would greatly miss such a functionality if it would ever get removed.
Technical context: for inputParser type functions, it is always possible to pass a struct as input to a Name-Value pair argument
function myFun(varargin)
p=inputParser;
p.addParameter('a',defaultValue,validationFunction)
p.addParameter('b',defaultValue,validationFunction)
p.StructExpand=true; % true by default
end
could be called in two ways
myFun('a',myValueForA,'b',myValueForB)
or
s.a=myValueForA
s.b=myValueForB
myFun(s)
I am an avid user of the 2nd method and found myself in trouble when I tried using this sythax with the Name-Value structure of the arguments.
To repeat again the question: Is there a way to expand struct input to a function accepting Name-Value type using the arguments validation structure in the same maner as inputParser?
Thanks in advance for your answers

Respuesta aceptada

Paul Villain
Paul Villain el 31 de Oct. de 2022
found my luck
this is not possible
Answer hier see also possible workaround from Walter Roberson

Más respuestas (0)

Categorías

Más información sobre Argument Definitions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by