Перегрузка clear()
с функцией легко. Но как получить доступ к рабочему пространству восходящей функции (из которой был вызван clear
), чтобы очистить рабочее пространство? builtin('clear')
очистит только рабочее пространство перегруженной функции.Как перегрузить ясный
function ret = someFun(a,b)
ret = a + b;
clear
ret = 1;
end
function clear()
persistent boring
if isempty(boring), boring = 0; end
boring = boring + 1;
builtin('clear')
end
Скриншот: рабочее пространство функции вверх по течению после вызова перегруженного clear
функцию
Или вы можете просто не перегружать 'clear'. Возможно, вы могли бы назвать свою функцию 'clearLocal'. Или, учитывая функциональность, которую вы вкладываете в перегруженный 'clear', возможно, вы могли бы назвать это' clearWithCounter'. –