Защита переменной рабочей области - PullRequest
1 голос
/ 18 ноября 2010

Может быть, вы прошли следующую ситуацию.Вы работаете и начинаете запускать один скрипт за другим, а потом вдруг понимаете, что изменили значение интересующей вас переменной. Помимо создания резервной копии рабочей области, нет ли другого способа защитить переменные?

Есть ли способ выбрать отдельные переменные в рабочей области, которую вы хотите защитить?

Помимо просмотра регистра истории команд, есть ли регистр истории различных значений, которые имеютбыл задан одной конкретной переменной?

Ответы [ 3 ]

9 голосов
/ 18 ноября 2010

Запуск сценариев в последовательности - это рецепт катастрофы. Если возможно, попробуйте превратить эти скрипты в функции. Это естественным образом устранит проблемы перезаписи переменных, с которыми вы сталкиваетесь, поскольку переменные внутри функций являются локальными для этих функций, тогда как переменные в сценариях являются локальными для рабочей области - и, следовательно, легко доступны / перезаписываются отдельными сценариями (часто непреднамеренно, особенно если вы используете имена переменных, такие как «результат»).

0 голосов
/ 23 ноября 2010

Я также согласен, что написание функций может быть полезным в этой ситуации.Однако, если вы манипулируете очень большими наборами данных, вам нужно быть осторожным при написании кода в форме, которая не создает несколько копий переменных в ваших функциях, или вы можете столкнуться с проблемами нехватки памяти.

0 голосов
/ 18 ноября 2010

Нет, история рабочего пространства отсутствует.Я бы сказал, что если вы столкнетесь с проблемой, которую вы описали, вам следует изменить свой стиль программирования.

Я бы предложил вам:

  1. поставить столько кодаинформация в вашем скрипте, так что вы можете начать с пустой рабочей области для выполнения задачи.По этой причине я всегда ставлю clear all в начале моего основного файла.

  2. Если это становится слишком сложным, подумайте о вызове функций.Если вам нужны значения, сгенерированные другим скриптом или функцией, перепишите этот скрипт, чтобы он стал функцией, и вызовите его в главном файле или сохраните переменные.Загрузка переменных абсолютно нормально.Но выполнение сценариев в последовательности приводит к катастрофе как , упомянутый marciovm .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...