खोज…
कार्रवाई में गतिशील डांट
डायनेमिक स्कोपिंग का अर्थ है कि वेरिएबल लुकअप उस स्कोप में होता है जहां किसी फंक्शन को बुलाया जाता है , न कि जहां इसे परिभाषित किया जाता है ।
$ x=3
$ func1 () { echo "in func1: $x"; }
$ func2 () { local x=9; func1; }
$ func2
in func1: 9
$ func1
in func1: 3
एक lexically scoped भाषा में, func1
हमेशा x
के मान के लिए वैश्विक दायरे में दिखेगा, क्योंकि func1
को स्थानीय दायरे में परिभाषित किया गया है।
गतिशील रूप से स्कोप वाली भाषा में, func1
उस दायरे में दिखता है जहां इसे कहा जाता है । जब इसे func2
भीतर से बुलाया जाता है, तो यह पहले x
मान के लिए func2
के शरीर में दिखता है। अगर इसे वहां परिभाषित नहीं किया जाता है, तो यह वैश्विक दायरे में दिखेगा, जहां से func2
को बुलाया गया था।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow