2013-02-07 73 views
1

我使用Matlab的輸入解析器和想使用此代碼來解析函數處理:對於無柄輸入解析器和功能手柄

p = inputParser; 
p.addOptional('progresscallback', 0, @(x) isa(x,'function_handle')); 
p.parse(varargin{:}); 

這非常適用於給定函數處理,但無法與

參數'progresscallback'驗證失敗@(x)isa(x,'function_handle')。

現在我不知道如何構造測試函數或默認值使其工作。

回答

0

如果你只是想接受空或功能手柄輸入,您可以修改測試功能是這樣的:

@(x) isempty(x) || isa(x,'function_handle') 

短路OR(||)不會評價的下半年測試第一個是否已經是真的。順便說一句,您可能還想將您的默認值設置爲[]