Вы представляете себе «настойчивость», которой нет, хотя, вероятно, это правдоподобно, учитывая предыдущий опыт работы с математикой.
То есть: если я решаю математическую задачу, и я говорю, чтох равен 5, ну тогда х должен остаться равным пяти для оставшейся части задачи;например, пока я не сотру доску.
Итак, вы можете написать такой язык программирования?Да!На самом деле, я мог бы написать для вас небольшой макрос в DrScheme, который произвел бы именно то поведение, которое вы, похоже, искали: он настроил бы глобальную таблицу переменных так, чтобы каждая привязка переменной вызывала обновление этой единственной таблицы переменных.
НО!Все опрошенные мной программисты (один) (хорошо, это я) согласились, что это будет очень плохая идея.
Чтобы понять почему, представьте, что у меня есть большая программа, которая содержит несколько переменных, называемых «а».Затем, всякий раз, когда кто-то в части A программы вызывает функцию с переменной с именем «a», часть B программы неожиданно меняет свое поведение.Это сделает почти невозможным рассуждать о поведении более крупных программ.
В более общем смысле, это проблема "состояния" и "мутации".
По этой причине вы не можете ссылатьсяпеременным, отличным от тех, которые находятся "в области видимости".То есть те переменные, чья форма привязки (в данном случае «определить») содержит ссылку.