2013-07-02 2 views
2

Я столкнулся с выражением привязкой верхнего уровня, используемой в контексте динамически типизированных языков и назначения переменных.Что такое «привязка верхнего уровня»?

Что подразумевается под верхнего уровня и как это отличается от нормального лексического связывания или динамическое связывание?

Добавление окружающего текста для более контекста:

переменной может быть связана со значением любого типа. Вы можете переназначить mynum в строку:

mynum = ’Brown’

Это связывание продолжается до тех пор, пока присвоить другое значение для mynum ... Это называется верхнего уровня связывания. Мы будем сталкиваться с случаями привязки переменных к значениям, где привязки являются временными.

+1

В каком ресурсе вы столкнулись с этим выражением? Что касается языка (ов)? – Corion

+0

@Corion Это вводное упражнение для класса, который применяет Python к линейной алгебре. – chb

ответ

2

Википедии было сказать следующее о верхнего уровня связывания на странице Common Lisp:

В Common Lisp, специальной переменной, которая имеет только верхнего уровня связывания ведет себя как глобальная переменная на других языках программирования. A новое значение может быть сохранено в нем, и это значение просто заменяет то, что находится в привязке верхнего уровня.

Переменная с привязкой верхнего уровня представляется другим именем для global variable.

Конкретный пример, который вы указали, указывает, что он находится во внешней/глобальной scope программы, в отличие от меньшей временной области, которая уходит во время выполнения. Эта переменная будет доступна любой части программы, предполагая, что она не была локально или временно переопределена в текущем лексическом или динамическом контексте.

 Смежные вопросы

  • Нет связанных вопросов^_^