Voglio convalidare gli argomenti di input con inputparser
, dove hanno gli argomenti di input 2 required inputs
e varargin
.
function = myfun( input1,input2,varargin)
p = inputParser;
addRequired(p,"input1",@(x) any(validatestring(x,{"sum","sub"})))
addRequired(p,"input2",@ischar)
parse(p,input1,input2,varargin{:}) ??
Come posso convalidare varargin dove il mio varargin è di lunghezza variabile.
piace : myfun("sum","hallo","Name","address",...)
risposte:
0 per risposta № 1Se (e solo se) gli argomenti di input della variabile assumono la forma di coppie parametro-valore, puoi farlo:
function result = myfun(varargin)
p = inputParser;
p.addRequired("input1", @validation1);
p.addRquuired("input2", @validation2);
p.KeepUnmatched = true;
p.parse(varargin{:});
params = p.Unmatched;
end
Altrimenti, sei bloccato con l'analisi manuale degli input, temo:
function result = myfun(input1, input2, varargin)
p = inputParser;
p.addRequired("input1", @validation1);
p.addRquuired("input2", @validation2);
p.parse(input1, input2);
for item in varargin:
% MANUAL VALIDATION GOES HERE
end
end