arguments struct expand like inputParser

42 views (last 30 days)
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

Accepted Answer

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

More Answers (0)

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!