Иногда я сталкиваюсь со следующим сценарием: одна процедура использует глобальную функцию f[x]
для выполнения некоторых вычислений, а другая процедура выполняет f=5
, что превращает все последующие вызовы f[x]
в 5[x]
.
Я знаю о локализации переменных, но предпочитаю использовать глобальные переменные на ранних стадиях разработки.
Я не могу придумать законной причины смешивать OwnValues и DownValues. Есть ли способ реализовать предупреждающее сообщение, когда происходит ситуация, подобная описанной выше?
В дополнение к приведенным ниже советам, контекст по умолчанию можно найти в OptionsInspector в разделе Параметры ячейки/Параметры оценки/CellContext.