क्या ऐसी भाषाएं हैं जहां दायरे को इस तरह से परिभाषित किया गया है जो संलग्न कार्यों तक विस्तारित नहीं होता है?क्या कोई वैश्विक चर के साथ प्रोग्रामिंग भाषाएं हैं?
>>> x = 3
>>> def fact(n):
... print x
... return reduce(lambda u, v: u*v, xrange(1, n+1), 1)
...
एक त्रुटि देना होगा क्योंकि एक्स समारोह fact
अंदर से परिभाषित नहीं है: दूसरे शब्दों में वहाँ एक भाषा जहां निम्नलिखित (अजगर की तरह सिंटेक्स) की तरह एक कोड है?
सामान्यतः, ऐसी भाषाएं हैं जहां का दायरा फ़ंक्शन में परिभाषित कार्यों को शामिल नहीं किया जाएगा?
संपादित करें: सूचनात्मक टिप्पणियों के लिए धन्यवाद।
समस्या क्योंकि: कारण मैं इस बारे में सोचा है कि सभी अपने युक्त कार्यों द्वारा प्रदान की पर्यावरण के लिए उपयोग होने एक आंतरिक समारोह की स्थिति संदेह से स्थिति उसके argument against OOP में जो आर्मस्ट्रांग द्वारा वर्णित करने के लिए मेरे करीब लग रहा है ऑब्जेक्ट-उन्मुख भाषाओं के साथ को यह सब अंतर्निहित वातावरण मिला है कि वे उनके साथ घूमते हैं। आप केले चाहते थे लेकिन आपको जो मिला वह केले और पूरे जंगल पकड़े हुए गोरिल्ला था।
यह भी प्रासंगिक है कि मैं यह सुनता हूं कि भाषा Newspeak में कोई वैश्विक नामस्थान नहीं है, हालांकि मुझे नहीं पता कि यह कैसे काम करता है।
मैं इस मुद्दे, नीचे ब्रायन की टिप्पणी में उठाया कल्पना कर सकते हैं, बिल्ट-इन कार्य (कई अन्य भाषाओं में Pythonspeak या सिस्टम में __builtins__
से आयात कार्यों) के हर कार्य में दुभाषिया/संकलक द्वारा कृत्रिम रूप से पेश किया। आखिरकार वे हमेशा पहले ही भाषा में विशेष रूप से इलाज करते हैं। एक और विकल्प यह है कि उन्हें किसी ऑब्जेक्ट के तरीके के रूप में कार्य करने के लिए पैरामीटर के रूप में पास किया गया हो या मॉड्यूल के रूप में आयात किया जाए।
वह क्या पूरा करेगा? – Blindy
ध्यान दें कि 'प्रिंट',' कम करें ', और' xrange' भी कुछ बाहरी दायरे से पहचानकर्ताओं को हल किया जा रहा है। जो दिखाता है कि यह शायद ही कभी उपयोगी क्यों है। – Brian