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 не выполняет случай переключения, когда параметр varaible не указан в аргументах?
«Наргин» так же просто реализовать, как и ваша идея «NaN», но имеет гораздо больший смысл и позволяет вызывать функцию с помощью одного аргумента. Я рекомендую против взлома «NaN». – Dan
да, но когда я вызываю функцию myFunc (tR), я получил ошибку, как если бы режим был нан? – lola
@lola Обходное решение «NaN» не является решением для вызова вашей функции с помощью 1 элемента, это просто позволяет вам называть ее как «myFunc (tR, NaN)» и избегать оператора switch. Если режим - это ваш последний аргумент ввода, это не принесет многого, но если ваша функция выглядит так: 'muFun (a, mode, b, c, d, e, f, g, h)' это сэкономит вам работу обработки 'mode' и всех возвращающих входных аргументов. –