function y = myFunc(tR,mode)
if ~isfield(tR, 'isAvailable')
tR.isAvailable= false;
end
if tR.isAvailable
y = fullfile(workingFolder,'file.txt');
else
y = '';
switch(mode)
case '1'
.....
case '2'
.....
end
end
當我打電話myFunc的(TR,「1」)it'es OK ,但我也能夠有時稱之爲myFunc的,而不只是模式myFunc的(TR)調用Matlab的功能
在函數內的某些情況下,我怎麼能說myFunc不在參數中提供模式變量時不執行開關情況?
'nargin'與你的'NaN'理念一樣簡單,但更加合理,並允許你用一個參數來調用函數。我建議反對'NaN'黑客。 – Dan
是的,但當我調用函數myFunc(tR)時,我得到錯誤,如果模式是南? – lola
@lola'NaN'解決方法不是使用1個元素調用函數的解決方案,它只是允許您將其稱爲:'myFunc(tR,NaN)'並避免使用switch語句。如果模式是你最後一次輸入的參數,這將不會獲得太多的收益,但是如果你的函數是這樣的:'muFun(a,mode,b,c,d,e,f,g,h)'這會爲你節省工作處理'mode'和所有尾隨輸入參數。 –