Matlab 输入解析器和函数句柄
我正在使用Matlab输入解析器,希望使用以下代码解析函数句柄:Matlab 输入解析器和函数句柄,matlab,parsing,handle,Matlab,Parsing,Handle,我正在使用Matlab输入解析器,希望使用以下代码解析函数句柄: p = inputParser; p.addOptional('progresscallback', 0, @(x) isa(x,'function_handle') ); p.parse(varargin{:}); 这对于给定的函数句柄很有效,但对于没有句柄的函数句柄则失败 参数“progresscallback”验证失败@(x)isa(x,'function_handle') 现在我想知道如何构造测试函数或默认值以使其工作。
p = inputParser;
p.addOptional('progresscallback', 0, @(x) isa(x,'function_handle') );
p.parse(varargin{:});
这对于给定的函数句柄很有效,但对于没有句柄的函数句柄则失败
参数“progresscallback”验证失败@(x)isa(x,'function_handle')
现在我想知道如何构造测试函数或默认值以使其工作。如果您只想接受空输入或函数句柄输入,您可以如下修改测试函数:
@(x) isempty(x) || isa(x,'function_handle')
如果前一半测试已经为真,则短路或(|
)将不会评估测试的后一半。顺便说一句,您可能还希望将默认值设置为[]