यूनिफ़ॉर्म फलन कॉल सिंटैक्स

From Vigyanwiki
Revision as of 07:56, 24 May 2023 by alpha>Indicwiki (Created page with "{{Primary sources|date=September 2017}} यूनिफ़ॉर्म फ़ंक्शन कॉल सिंटैक्स (यूएफसीएस) या यूनि...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

यूनिफ़ॉर्म फ़ंक्शन कॉल सिंटैक्स (यूएफसीएस) या यूनिफ़ॉर्म कॉलिंग सिंटेक्स (यूसीएस) या कभी-कभी यूनिवर्सल फ़ंक्शन कॉल सिंटेक्स [[डी (प्रोग्रामिंग भाषा)]] और निम (प्रोग्रामिंग भाषा) में एक प्रोग्रामिंग भाषा सुविधा है जो किसी भी फ़ंक्शन (कंप्यूटर प्रोग्रामिंग) को कॉल करने की अनुमति देती है। पहले पैरामीटर के रूप में रिसीवर (ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) और शेष पैरामीटर के रूप में दिए गए तर्कों का उपयोग करके विधि कॉल के लिए सिंटैक्स (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में)।[1] यूएफसीएस विशेष रूप से तब उपयोगी होता है जब फ़ंक्शन कॉल श्रृंखलित होते हैं[2] (पाइप (कंप्यूटर विज्ञान) के समान व्यवहार करना, या अभिव्यक्ति (कंप्यूटर विज्ञान) की एक श्रृंखला के माध्यम से मूल्यों को पारित करने के लिए कार्यात्मक भाषाओं में उपलब्ध विभिन्न समर्पित ऑपरेटर (कंप्यूटर प्रोग्रामिंग))। यह फ्री-फ़ंक्शंस को कुछ अन्य भाषाओं में विस्तार विधियों के समान भूमिका भरने की अनुमति देता है। मेथड कॉल सिंटैक्स का एक अन्य लाभ एकीकृत विकास परिवेश में डॉट-स्वत: पूर्ण के साथ उपयोग है, जो संदर्भ पर निर्भर उपलब्ध कार्यों की सूची दिखाने के लिए प्रकार की जानकारी का उपयोग करता है। जब प्रोग्रामर एक तर्क के साथ शुरू होता है, संभावित रूप से लागू कार्यों का सेट बहुत कम हो जाता है,[3] खोज में सहायता करना।

उदाहरण

निम प्रोग्रामिंग भाषा

type Vector = tuple[x, y: int]
 
proc add(a, b: Vector): Vector =
  (a.x + b.x, a.y + b.y)
 
let
  v1 = (x: -1, y: 4)
  v2 = (x: 5, y: -2)
 
  # all the following are correct
  v3 = add(v1, v2)
  v4 = v1.add(v2)
  v5 = v1.add(v2).add(v4)


डी प्रोग्रामिंग भाषा

import std.stdio;

int first(int[] arr)
{
    return arr[0];
}

int[] addone(int[] arr)
{
    int[] result;
    foreach (value; arr) {
        result ~= value + 1;
    }
    return result;
}

void main()
{
    auto a = [0, 1, 2, 3];

    // all the following are correct and equivalent
    int b = first(a);
    int c = a.first();
    int d = a.first;

    // chaining
    int[] e = a.addone().addone();
}


सी ++ प्रस्ताव

C++ मानकीकरण के शुरुआती वर्षों से सदस्य फ़ंक्शन और फ्री फ़ंक्शन कॉलिंग सिंटैक्स के एकीकरण के प्रस्तावों पर चर्चा की गई है। ग्लासबोरो (2004) ने एक समान कॉलिंग सिंटैक्स (यूसीएस) का प्रस्ताव दिया, विशेष रूप से एनोटेट मुक्त कार्यों को सदस्य फ़ंक्शन नोटेशन के साथ बुलाए जाने की इजाजत दी।[4] यह हाल ही में Bjarne Stroustrup द्वारा C++ के अतिरिक्त प्रस्तावित (2016 तक) किया गया है[5] और हर्ब सटर,[3]सामान्य प्रोग्रामिंग के लेखन को सरल बनाने के लिए मुक्त फ़ंक्शन (सी ++) एस और सदस्य कार्यों को लिखने के बीच अस्पष्ट निर्णय को कम करने के लिए। सदस्य फ़ंक्शन सिंटैक्स का लाभ प्राप्त करने के लिए कई प्रोग्रामर सदस्य फ़ंक्शन लिखने के लिए लुभाते हैं (उदाहरण के लिए डॉट-स्वत: पूर्ण सदस्य कार्यों को सूचीबद्ध करने के लिए);[6] हालाँकि, यह कक्षा (कंप्यूटर प्रोग्रामिंग) के बीच अत्यधिक युग्मन (कंप्यूटर प्रोग्रामिंग) की ओर जाता है।[7]


शब्द का जंग प्रयोग

2018 तक वास्तव में योग्य/स्पष्ट पथ सिंटैक्स का जिक्र करते समय इस शब्द का उपयोग करना आम था और आमतौर पर [https: // doc.rust-lang.org/1.30.0/book/2018-edition/ch19-03-advanced-traits.html?highlight=trait,function,call#fully-qualified-syntax-for-disambiguation-calling-methods- with-the-same-name पूरी तरह से योग्य पथ सिंटैक्स]।: क्योंकि एक ही संरचना पर लागू की गई एक ही विधि को परिभाषित करने वाले कई लक्षणों का होना संभव है, इस बात को स्पष्ट करने के लिए एक तंत्र की आवश्यकता होती है कि किस विशेषता का उपयोग किया जाना चाहिए।

सदस्य कार्यों को योग्य (नामस्थान) पथ के माध्यम से मुक्त कार्यों के रूप में भी इस्तेमाल किया जा सकता है।

यूएफसीएस शब्द इन उपयोगों के लिए गलत है, क्योंकि यह (नाम स्थान) मुक्त कार्यों के रूप में विधियों का उपयोग करने की अनुमति देता है, लेकिन विधियों के रूप में मुक्त कार्यों का उपयोग नहीं करता है।

यह भी देखें

संदर्भ

  1. "कार्य - डी प्रोग्रामिंग भाषा". Dlang.org. Retrieved 1 October 2017.
  2. "डी में प्रोग्रामिंग - यूनिवर्सल फंक्शन कॉल सिंटैक्स (यूएफसीएस)". Ddili.org. Retrieved 1 October 2017.
  3. 3.0 3.1 ""यूनिफाइड कॉल सिंटैक्स"" (PDF). Isocpp.org. Retrieved 1 October 2017.
  4. Francis Glassborow (2 May 2004). "N1585: Uniform Calling Syntax (Re-opening public interfaces)" (PDF). Retrieved 17 December 2018.
  5. ""यूएफसीएस प्रस्ताव"" (PDF). Open-std.org. Retrieved 1 October 2017.
  6. "इंटेलिजेंस का उपयोग करना". Msdn.microsoft.com. Retrieved 1 October 2017.
  7. "कैसे गैर-सदस्य कार्य इनकैप्सुलेशन में सुधार करते हैं". Drdobbs.com. Retrieved 1 October 2017.