0
Matlab中的inputParser
類對於在調用某個函數時綜合檢查用戶傳遞的參數非常有用。例如:使用`inputParser`驗證默認參數
function [] = TestValidation(varargin)
%[
p = inputParser();
p.addParameter('Toto', 'Hello', @isnumeric);
p.parse(varargin{:});
%]
end
將引發一個錯誤,如果用戶試圖給非數字值分配給參數Toto
(例如TestValidation('Toto', 'Hello')
==>引發錯誤因爲Hello
不是一個數字)。
無論如何調用上述沒有參數的函數(即TestValidation()
),即使Toto
的默認值是字符串(即Hello
),也不會產生錯誤。
有一個簡單的辦法,迫使inputParser
驗證也爲默認值還是可以隻手工做事後?
你會指定一個默認值,它不會通過你的驗證功能似乎對我來說很直觀。您希望函數在用戶沒有爲參數指定值時引發錯誤?你也可以在驗證中使用〜isempty。我想了解你想從中得到什麼樣的行爲。 –
我想測試這個參數是默認的還是用戶提供的。下面的@Daniel回答正是我需要的。 – CitizenInsane