Поиск…
Динамическое определение масштаба в действии
Динамические обзорный означает , что переменные поиски происходят в объеме , когда функция называется, не там , где она определена.
$ x=3
$ func1 () { echo "in func1: $x"; }
$ func2 () { local x=9; func1; }
$ func2
in func1: 9
$ func1
in func1: 3
На лексическом языке func1
всегда будет искать в глобальной области значение x
, потому что func1
определяется в локальной области.
На динамически ограниченном языке func1
просматривается в области, где он называется . Когда он вызывается из func2
, он сначала смотрит в тело func2
на значение x
. Если он не был определен там, он будет выглядеть в глобальной области, откуда был вызван func2
.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow