arguments struct expand like inputParser
15 views (last 30 days)
Show older comments
Paul Villain
on 30 Oct 2022
Answered: Paul Villain
on 31 Oct 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
0 Comments
Accepted Answer
More Answers (0)
See Also
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!