खोज…


कार्रवाई में गतिशील डांट

डायनेमिक स्कोपिंग का अर्थ है कि वेरिएबल लुकअप उस स्कोप में होता है जहां किसी फंक्शन को बुलाया जाता है , न कि जहां इसे परिभाषित किया जाता है

$ 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