В Matlab я могу опустить аргументы функции, например,
function res = caller(a, b)
...
Я могу вызвать ее с помощью
caller(12)
Но как я могу передать этот отсутствующий аргумент, например,:
function res = caller(a, b)
callee(a, b)
...
Как я могу сделать так, что если caller
вызывается без аргумента secong, то callee
также вызывается без второго аргумента?
UPDATE
Предположим, у вас есть много функций, вызывающих друг друга
function res = caller01(a, b)
...
function res = caller02(a, b)
...
function res = caller03(a, b)
...
function res = caller04(a, b)
...
, и вы хотите
1) сделать аргумент b
необязательным
2) сделать это возможнымчтобы делегировать значение по умолчанию для вызываемого абонента
Насколько я понял, Matlab здесь неполон и требует, чтобы я включил каждый вызов вызываемого абонента в этот эшафот:
if exist('b', 'var')
callee(a, b);
else
callee(a);
end
, и это должно повторяться в каждомвызывающий.