В Matlab, когда я использую цикл "for...end", индексирующая переменная все еще существует в моей рабочей области после полного выполнения цикла. . Я хотел бы, чтобы он был автоматически удален, так как он больше не актуален вне цикла и загрязняет рабочее пространство.
Например, в следующем коде переменная «i» все еще существует после выполнения цикла. Поскольку это должна быть локальная переменная, я хотел бы, чтобы она удалялась автоматическибез необходимости делать это явно.
List = [1 2 3 4] ;
for i = List
fprintf('value = %i\n', i) ;
end
% "i" still exists, while its outside of its context
clear i; % I would like to avoid doing this everytime I exit a for..end
Я знаю, что это скорее эстетическая проблема, чем ошибка, но для более легкого понимания результатов моей программы я хотел бы, чтобы эти «временные» переменные исчезали, когда я выхожу из их контекста.
До сих пор мне удавалось уменьшить количество этих временных переменных только путем их повторного использования.
Редактировать:
Кажется, что нет реального решения для автоматического удаления этих «временных» переменных. Ближайшие способы избежать наличия этих переменных:
Избегание циклов
Создавайте циклы в функциях, переменные функций являются локальными и не попадут в рабочую область.