Product Design, Manufacturing & Innovation Resources
घर » R में लेक्सिकल स्कोपिंग

R में लेक्सिकल स्कोपिंग

1980
  • Gerald Jay Sussman
  • Guy L. Steele Jr.
आर प्रोग्रामिंग भाषा में लेक्सिकल स्कोपिंग का प्रदर्शन करते हुए कंप्यूटर प्रोग्रामर।.

(यह छवि केवल उदाहरण के लिए बनाई गई है)

R लेक्सिकल स्कोपिंग का उपयोग करता है, जो स्कीम भाषा से लिया गया एक कॉन्सेप्ट है। इसका मतलब है कि किसी फ़ंक्शन में फ्री वेरिएबल्स के मानों को उस वातावरण में खोजकर निर्धारित किया जाता है जहाँ फ़ंक्शन को परिभाषित किया गया था, न कि उस वातावरण में जहाँ इसे कॉल किया गया है। इससे फ़ंक्शन का व्यवहार अधिक अनुमानित और कॉलिंग संदर्भ से स्वतंत्र हो जाता है, जो फंक्शनल प्रोग्रामिंग की एक प्रमुख विशेषता है।

Lexical scoping, also known as static scoping, is a fundamental convention for looking up variable names in a programming language. In R, when a function needs to access a variable that is not defined locally (a “free variable”), it searches for that variable in the environment where the function was created. This “creation environment” is permanently attached to the function. This contrasts with dynamic scoping, used in some older languages, where the search would proceed up the chain of function calls (the “calling environment”).

उदाहरण के लिए, एक फ़ंक्शन `f()` पर विचार करें जो एक चर `x` का उपयोग करता है लेकिन उसे परिभाषित नहीं करता है। यदि `f()` को वैश्विक वातावरण में परिभाषित किया गया है जहाँ `x` का मान 10 है, तो चाहे इसे कहीं से भी कॉल किया जाए, यह हमेशा `x = 10` का उपयोग करेगा। यहाँ तक कि यदि इसे किसी अन्य फ़ंक्शन से कॉल किया जाता है जिसका अपना स्थानीय मान `x = 20` है, तब भी `f()` कॉलिंग वातावरण के `x` को अनदेखा कर देगा और अपने परिभाषा वातावरण के `x` का उपयोग करेगा। यह व्यवहार कोड को डीबग करना और समझना आसान बनाता है, क्योंकि किसी फ़ंक्शन का व्यवहार पूरी तरह से उसके अपने कोड और उस वातावरण द्वारा निर्धारित होता है जिसमें इसे परिभाषित किया गया है।

यह विशेषता फंक्शनल प्रोग्रामिंग प्रतिमानों के लिए महत्वपूर्ण है, जो क्लोज़र जैसी शक्तिशाली संरचनाओं को सक्षम बनाती है, जहाँ एक फ़ंक्शन उस वातावरण को "याद" रख सकता है जिसमें इसे बनाया गया था। इसका व्यापक रूप से उन्नत R प्रोग्रामिंग और पैकेज विकास में उपयोग किया जाता है, जैसे कि `lapply` फ़ंक्शन परिवार और वेब अनुप्रयोगों के लिए Shiny जैसे फ्रेमवर्क में।

UNESCO Nomenclature: 1203
कंप्यूटर विज्ञान

Type

सार प्रणाली

व्यवधान

इंक्रीमेंटल

उपयोग

व्यापक उपयोग

शगुन

  • प्रोग्रामिंग भाषाओं में स्कोप की अवधारणा
  • लिस्प प्रोग्रामिंग भाषा और इसकी बोलियाँ
  • स्कीम प्रोग्रामिंग भाषा, जिसने लेक्सिकल स्कोपिंग को लोकप्रिय बनाया
  • लैम्डा कैलकुलस, फंक्शन और स्कोप के लिए एक सैद्धांतिक आधार के रूप में

आवेदन

  • फंक्शनल प्रोग्रामिंग के लिए R में क्लोज़र का निर्माण
  • चर टकराव से बचने के लिए पैकेज नेमस्पेस का विकास
  • dplyr जैसे पैकेजों में उपयोग की जाने वाली गैर-मानक मूल्यांकन तकनीकों को सक्षम करना
  • बिना किसी दुष्प्रभाव के मजबूत और मॉड्यूलर कोड का निर्माण करना

पेटेंट:

    संभावित नवाचार विचार

    बॉट ट्रैफिक को कम करने के कारण, जो वर्तमान में प्रति दिन 40,000 से अधिक है, यह सामग्री केवल समुदाय के सदस्यों के लिए आरक्षित है।
    > लॉगिन < या > रजिस्टर < इस सामग्री और अन्य सभी प्रतिबंधित सामग्रियों और उपकरणों तक पहुंच (100% निःशुल्क) है।

    संबंधित विषय: लेक्सिकल स्कोपिंग, स्टैटिक स्कोपिंग, फंक्शनल प्रोग्रामिंग, R, स्कीम, एनवायरनमेंट, क्लोजर, फ्री वेरिएबल, नेमस्पेस, नॉन-स्टैंडर्ड इवैल्यूएशन।

    ऐतिहासिक संदर्भ

    R में लेक्सिकल स्कोपिंग

    1973
    1980
    1980
    1980
    1982-07-01
    1988-06-01
    1990
    1970-01-01
    1975-06-01
    1980
    1980
    1980
    1986-01-01
    1990
    1990

    (यदि तिथि अज्ञात है या प्रासंगिक नहीं है, उदाहरण के लिए "द्रव यांत्रिकी", तो इसके उल्लेखनीय उद्भव का एक अनुमानित आंकड़ा प्रदान किया गया है)

    शीर्ष पोस्ट और लेख

    शीर्ष मूल उपकरण

    पंजीकृत सदस्यों के लिए पूर्ण आकार की छवियाँ और डाउनलोड 100% निःशुल्क उपलब्ध हैं।