How to partially validate arguments?
显示 更早的评论
Rewriting some legacy code to arguments block style I run into cases where I should validate some arguments and pass the rest as is to other functions. This is about what I would like to accomplish:
function f1(positional, optional_positional, options, varargin)
arguments
positional;
optional_positional = 0;
% options validated by f1
options.f1_option = true;
end
arguments (Repeating)
% arguments without validation, to be validated by f2
varargin;
end
% Doing things with validated arguments goes here.
% Eventually passing the non-validated arguments to another function.
f2(varargin{:});
end
Above leads to an error:
Function argument definition error in f1. Functions with positional and name-value arguments must define positional arguments first.
So it would seem what I'm trying to do isn't exactly supported. Did I make a mistake somewhere? Is there another way of doing it?
Edit: What I'm after is very similar to inputParser KeppUnmatched option: Input parser for functions - MATLAB - MathWorks Nordic
采纳的回答
更多回答(1 个)
Andreas Urbán
2022-3-21
编辑:Andreas Urbán
2022-3-21
类别
在 帮助中心 和 File Exchange 中查找有关 Function Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!