Szukaj…
Dynamiczne określanie zakresu w akcji
Dynamiczne określanie zakresu oznacza, że wyszukiwania zmiennych zachodzą w zakresie, w którym funkcja jest wywoływana , a nie tam, gdzie jest zdefiniowana .
$ x=3
$ func1 () { echo "in func1: $x"; }
$ func2 () { local x=9; func1; }
$ func2
in func1: 9
$ func1
in func1: 3
 W języku leksykalnym func1 zawsze func1 w zasięgu globalnym wartości x , ponieważ func1 jest zdefiniowany w zasięgu lokalnym. 
 W języku dynamicznie func1 sprawdza zakres, w którym się nazywa . Kiedy jest wywoływany z func2 , najpierw szuka w func2 wartości x . Gdyby nie został tam zdefiniowany, wyglądałby w zasięgu globalnym, skąd func2 . 
Modified text is an extract of the original Stack Overflow Documentation
        Licencjonowany na podstawie CC BY-SA 3.0
        Nie związany z Stack Overflow