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

From Vigyanwiki
Revision as of 11:09, 30 October 2023 by Arti (talk | contribs)
(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] यह हाल ही में बज़्ने स्ट्रॉस्ट्रुप द्वारा 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.