Does any elegant way to pass augments through nested function calls
Ältere Kommentare anzeigen
Hello,
I encountered some case of code which written like follows.
The problem is the augments are difficult to handle if these are named lengthy.
My question is does any ways keep the function structure but easier to handle and debug?
script.m
b = 1;
c = 2;
d = 3;
e = 4;
f = 5;
g = 6;
h = 7;
i = 8;
j = 9;
k = 'nest';
a = nestb(b,c,d,e,f,g,h,i,j,k)
nestb.m
function varargout = nestb(varargin)
b = varargin{1}
c = varargin{2}
d = varargin{3}
e = varargin{4}
f = varargin{5}
g = varargin{6}
h = varargin{7}
i = varargin{8}
j = varargin{9}
k = varargin{10}
if numel{varargin} > 10
test = varargin{11}
qq = varargin{12}
ww = varargin{13}
end
if b > 0
tmpb = b + nestc(c,d,e,f)
else
tmpb = nestc(c,d,e,f)
end
varargout{1} = tmpb;
end
nestc.m
function varargout = nestc(varargin)
c = varargin{1}
d = varargin{2}
e = varargin{3}
f = varargin{4}
g = varargin{5}
h = varargin{6}
i = varargin{7}
j = varargin{8}
k = varargin{9}
if c > 0
tmpc = c + nestd(d,e,f,g,h,i,j,k)
else
tmpc = nestd(d,e,f,g,h,i,j,k)
end
varargout{1} = tmpc;
end
nestd.m
function varargout = nestd(varargin)
d = varargin{1}
e = varargin{2}
f = varargin{3}
g = varargin{4}
h = varargin{5}
i = varargin{6}
j = varargin{7}
k = varargin{8}
if isnumeric(k)
tmpd = d + e + f + g + h + i + j + k;
else
tmpc = d + e + f + g + h + i + j;
end
varargout{1} = tmpd;
end
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Structures finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!