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