Очистка задач после завершения функции
cleanupObj = onCleanup(
создает объект, который при уничтожении выполняет функцию cleanupFun
)cleanupFun
. MATLAB® неявно очищает все локальные переменные при завершении функции, будь то обычным завершением или принудительным выходом, например ошибкой или Ctrl+C.
Если вы ссылаетесь или проходите cleanupObj
вне вашей функции, тогда cleanupFun
не запускается, когда эта функция завершается. Вместо этого он запускается всякий раз, когда MATLAB уничтожает объект.
Избегайте использования вложенных функций во время очистки. MATLAB может очистить переменные, используемые во вложенных функциях, прежде чем функция очистки попытается считать их.
Если ваша программа содержит несколько объектов очистки, MATLAB не гарантирует порядок уничтожения этих объектов. Если порядок ваших функций очистки имеет значение, задайте один onCleanup
объект для всех задач.
Если вы сохраняете onCleanup
Объект отображает предупреждение и не сохраняет cleanupFun
задача очистки.