Do I have to redefine my cleanup object when input arguments change?

2 views (last 30 days)
I have a cleanup function that relies on a couple of arguments that alter the behavior of the cleanup routine:
function MainFunction()
x=1;
y=1;
cleanupObj = onCleanup(@()cleanupFun(x,y));
end
function cleanupFun(x,y)
if(x)
%do something
end
if(y)
%do another thing
end
end
Now, in my broader use case, x and y will be changing many times throughout the life of MainFunction. Do I have to redefine my cleanupObj everytime x or y changes? For my case this would be quite ugly.
Another idea I've thought of is making use of the fact that x and y are changed by subfunctions. Is it possible to pass the cleanup object handle to these subfunctions so that I can redefine the cleanup object handle from within the subfunction, rather than redefining it after each call to the sub function?

Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!