मेटासिंटैक्टिक वैरिएबल: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Placeholder term used in computer science}} {{About|metasyntactic variables in computer science and programming|metasyntactic variables as used in formal l...")
 
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Short description|Placeholder term used in computer science}}
{{Short description|Placeholder term used in computer science}}
{{About|metasyntactic variables in computer science and programming|metasyntactic variables as used in formal logic|Metavariable (logic)|usage in spoken languages|Placeholder name}}
'''मेटासिंटैक्टिक वैरिएबल''' एक विशिष्ट शब्द या शब्दों का समूह है जिसे [[कंप्यूटर विज्ञान]] और विशेष रूप से [[कंप्यूटर प्रोग्रामिंग]] में प्लेसहोल्डर के रूप में मान्यता प्राप्त है। ये शब्द साधारणतया स्रोत कोड में पाए जाते हैं और इन्हें वास्तविक दुनिया में उपयोग से पहले संशोधित या प्रतिस्थापित करने का इरादा होता है। उदाहरण के लिए, फू और बार का उपयोग टिप्पणियों, प्रलेखनों (डाक्यूमेंट्स) के लिए 330 से अधिक [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] अनुरोधों में किया जाता है जो HTTP (वेब), टीसीपी/आईपी और ईमेल प्रोटोकॉल जैसी मूलभूत इंटरनेट प्रौद्योगिकियों को परिभाषित करते हैं।<ref name="RFC3092">{{cite IETF|rfc=3092|title="फू" की व्युत्पत्ति|first1=Donald E.|last1=Eastlake 3rd|first2=Carl-Uno|last2=Manros|first3=Eric S.|last3=Raymond}}</ref><ref>{{Cite web|url=https://www.rfc-editor.org/retrieve/|title=दस्तावेज़ पुनर्प्राप्ति|work=RFC Editor}}</ref>
[[कंप्यूटर विज्ञान]] और विशेष रूप से [[कंप्यूटर प्रोग्रामिंग]] में [[प्लेसहोल्डर का नाम]] के रूप में पहचाने जाने वाले एक मेटासिंटैक्टिक वैरिएबल एक विशिष्ट शब्द या शब्दों का सेट है। ये शब्द आमतौर पर स्रोत कोड में पाए जाते हैं और इन्हें वास्तविक दुनिया के उपयोग से पहले संशोधित या प्रतिस्थापित करने का इरादा है। उदाहरण के लिए, फू और बार का उपयोग 330 से अधिक [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] [[टिप्पणियों के लिए अनुरोध]] में किया जाता है, जो दस्तावेज [[HTTP]] (वेब), टीसीपी/आईपी और [[ईमेल]] [[संचार प्रोटोकॉल]] जैसी मूलभूत इंटरनेट तकनीकों को परिभाषित करते हैं।<ref name="RFC3092">{{cite IETF|rfc=3092|title="फू" की व्युत्पत्ति|first1=Donald E.|last1=Eastlake 3rd|first2=Carl-Uno|last2=Manros|first3=Eric S.|last3=Raymond}}</ref><ref>{{Cite web|url=https://www.rfc-editor.org/retrieve/|title=दस्तावेज़ पुनर्प्राप्ति|work=RFC Editor}}</ref>
गणितीय सादृश्य द्वारा, एक [[मेटासिंटैक्स]] वेरिएबल एक ऐसा शब्द है जो दूसरे शब्दों के लिए एक वेरिएबल (गणित) है, जैसे कि [[बीजगणित]] अक्षरों में [[संख्या]]ओं के लिए चर के रूप में उपयोग किया जाता है।<ref name="RFC3092"/>


मेटासिंटैक्टिक वेरिएबल्स का उपयोग वेरिएबल्स, फ़ंक्शंस और कमांड्स जैसी संस्थाओं के नाम के लिए किया जाता है, जिनकी सटीक पहचान महत्वहीन है और केवल एक अवधारणा को प्रदर्शित करने के लिए काम करती है, जो प्रोग्रामिंग सिखाने के लिए उपयोगी है।
गणितीय सादृश्य (मैथमेटिकल अनलोगी) द्वारा, मेटासिंटैक्टिक वैरिएबल एक ऐसा शब्द है जो अन्य शब्दों के लिए एक वैरिएबल है, जैसे [[बीजगणित]] में अक्षरों को [[संख्याओं की ज्यामिति|संख्याओं]] के लिए वैरिएबल के रूप में उपयोग किया जाता है।<ref name="RFC3092" />


== सामान्य मेटासिंटैक्टिक चर ==
मेटासिंटैक्टिक वेरिएबल्स का उपयोग वेरिएबल्स, फ़ंक्शंस और [[कमांड (कंप्यूटिंग)|कमांड]] जैसी संस्थाओं को नाम देने के लिए किया जाता है जिनकी सटीक पहचान महत्वहीन है और केवल एक अवधारणा को प्रदर्शित करने के लिए काम करती है, जो प्रोग्रामिंग सिखाने के लिए उपयोगी है।
अधिकांश कंप्यूटर [[प्रोग्रामिंग भाषा]]ओं की नींव-भाषा, या [[सामान्य भाषा]] होने के कारण, ये चर आमतौर पर कार्यक्रमों और अन्य बोली जाने वाली भाषा के दर्शकों के लिए लिखे गए कार्यक्रमों के उदाहरणों में भी देखे जाते हैं।


विशिष्ट नाम हालांकि उस उपसंस्कृति पर निर्भर हो सकते हैं जो किसी दी गई प्रोग्रामिंग भाषा के आसपास विकसित हुई है।
== सामान्य मेटासिंटैक्टिक वैरिएबल ==
अंग्रेजी अधिकांश कंप्यूटर प्रोग्रामिंग लैंग्वेज की मूल लैंग्वेज या सामान्य लैंग्वेज होने के कारण, ये वैरिएबल साधारणतया अन्य बोली जाने वाली लैंग्वेज के दर्शकों के लिए लिखे गए कार्यक्रमों और कार्यक्रमों के उदाहरणों में भी देखे जाते हैं।
 
हालाँकि विशिष्ट नाम उस उपसंस्कृति पर निर्भर हो सकते हैं जो किसी दी गई प्रोग्रामिंग लैंग्वेज के आसपास विकसित हुई है।


=== सामान्य उपयोग ===
=== सामान्य उपयोग ===
आमतौर पर सभी प्रोग्रामिंग भाषाओं में उपयोग किए जाने वाले मेटासिंटैक्टिक वेरिएबल्स में फोबार, फू, बार, बाज शामिल हैं।{{not a typo|qux}},{{not a typo|quux}},{{not a typo|corge}},{{not a typo|grault}},{{not a typo|garply}},{{not a typo|waldo}},{{not a typo|fred}},{{not a typo|[[plugh]]}}, xyzzy (कंप्यूटिंग) |{{not a typo|xyzzy}}, और थड; इनमें से कई शब्द [[ विशाल गुफा साहसिक ]] गेम के संदर्भ में हैं।<ref name="RFC3092"/><ref>{{cite mailing list|title=मेटासिंटैक्टिक चर|first=Stuart|last=Laughlin|date=November 18, 2016|access-date=November 18, 2016|url=https://www.progclub.org/pipermail/programming/2016-November/002305.html|mailing-list=programming@ProgClub|url-status=dead|archive-url=https://web.archive.org/web/20221202085628/https://www.progclub.org/pipermail/programming/2016-November/002305.html|archive-date=December 2, 2022}}</ref>
साधारणतया सभी प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटासिंटैक्टिक वेरिएबल्स में ''foobar'', ''foo'', ''bar'', ''baz'', ''qux'', ''quux'', ''corge'', ''grault'', ''garply'', ''waldo'', ''fred'', ''plugh'', ''xyzzy'', and ''thud शामिल हैं''; इनमें से कई शब्द गेम कोलोसल केव एडवेंवैरिएबल के संदर्भ हैं<ref name="RFC3092"/><ref>{{cite mailing list|title=मेटासिंटैक्टिक चर|first=Stuart|last=Laughlin|date=November 18, 2016|access-date=November 18, 2016|url=https://www.progclub.org/pipermail/programming/2016-November/002305.html|mailing-list=programming@ProgClub|url-status=dead|archive-url=https://web.archive.org/web/20221202085628/https://www.progclub.org/pipermail/programming/2016-November/002305.html|archive-date=December 2, 2022}}</ref>
एक पूरा संदर्भ [[एमआईटी प्रेस]] की किताब द हैकर डिक्शनरी में पाया जा सकता है।
 
एक संपूर्ण संदर्भ द हैकर्स डिक्शनरी नामक एमआईटी प्रेस की पुस्तक में पाया जा सकता है।


=== जापानी ===
=== जापानी ===
जापानी में, शब्द {{transl|ja|hoge}} (होग)<ref>{{Cite web|url=https://ejje.weblio.jp/content/hoge|title=hogeの意味・使い方 - 英和辞典 Weblio 辞書|website=ejje.weblio.jp}}</ref> और फूगा (ふが) आमतौर पर उपयोग किए जाते हैं, अन्य आम शब्दों और रूपों के साथ पियो (ぴよ), {{transl|ja|hogera}} (हुगेरा), और {{transl|ja|hogehoge}} (होगेहोग)।<ref name="ja">[[:ja:メタ構文変数|メタ構文変数]] {{in lang|ja}}</ref>{{Circular reference|date=September 2017}} उद्गम {{transl|ja|hoge}} एक मेटासिंटैक्टिक वैरिएबल के रूप में ज्ञात नहीं है, लेकिन ऐसा माना जाता है कि यह 1980 के दशक की शुरुआत में हुआ था।<ref name="ja" />
जापानी में, शब्द {{transl|ja|hoge}} (होग)<ref>{{Cite web|url=https://ejje.weblio.jp/content/hoge|title=hogeの意味・使い方 - 英和辞典 Weblio 辞書|website=ejje.weblio.jp}}</ref> और फूगा (ふが) साधारणतया उपयोग किए जाते हैं, अन्य साधारण शब्दों और रूपों के साथ पियो (ぴよ), {{transl|ja|hogera}} (हुगेरा), और {{transl|ja|hogehoge}} (होगेहोग)।<ref name="ja">[[:ja:メタ構文変数|メタ構文変数]] {{in lang|ja}}</ref> उद्गम {{transl|ja|hoge}} एक मेटासिंटैक्टिक वैरिएबल के रूप में ज्ञात नहीं है, लेकिन ऐसा माना जाता है कि यह 1980 के दशक की प्रारंभ में हुआ था।<ref name="ja" />
 
 
=== फ्रेंच ===
फ़्रांस में, टोटो शब्द का व्यापक रूप से उपयोग किया जाता है, संबंधित प्लेसहोल्डर के रूप में वेरिएंट टाटा, टिटी, टूटू के साथ। टोटो के उपयोग के लिए एक सामान्य रूप से उठाया गया स्रोत स्टॉक चरित्र का एक संदर्भ है जिसका उपयोग टेटे ए टोटो के साथ चुटकुले सुनाने के लिए किया जाता है।{{CN|date=February 2022}}


== उपयोग के उदाहरण ==
== उपयोग के उदाहरण ==
[[File:Metasyntactic Variable FOO in Shell.png|thumb|इंटरएक्टिव शेल सत्र में मेटासिंटैक्टिक वेरिएबल FOO का एक स्क्रीनशॉट असाइन किया गया और प्रतिध्वनित किया गया।]]
[[File:Metasyntactic Variable FOO in Shell.png|thumb|इंटरएक्टिव शेल सत्र में मेटासिंटैक्टिक वेरिएबल FOO का एक स्क्रीनशॉट असाइन किया गया और प्रतिध्वनित किया गया।]]


=== सी ===
=== सी (C) ===
{{See also|C programming language}}
{{See also|C प्रोग्रामिंग लैंग्वेज}}
निम्नलिखित उदाहरण में फ़ंक्शन का नाम <code>foo</code> और चर नाम <code>bar</code> दोनों मेटासिंटैक्टिक चर हैं। से शुरू होने वाली पंक्तियाँ <code>//</code> टिप्पणियाँ हैं।
निम्नलिखित उदाहरण में फ़ंक्शन का नाम <code>foo</code> और वैरिएबल नाम <code>bar</code> दोनों मेटासिंटैक्टिक वैरिएबल हैं। से प्रारंभ होने वाली पंक्तियाँ <code>//</code> टिप्पणियाँ हैं।
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
// The function named foo
// The function named foo
Line 39: Line 36:
</syntaxhighlight>
</syntaxhighlight>


 
=== C++ ===
=== सी ++ ===
{{See also|C++}}
{{See also|C++}}
विभिन्न पैरामीटर (कंप्यूटर प्रोग्रामिंग) के उदाहरणों के साथ फंक्शन प्रोटोटाइप #आर्गमेंट पासिंग मैकेनिज्म:<ref name="MonganKindler2012">{{cite book|first1=John|last1=Mongan|first2=Noah|last2=Kindler|first3=Eric|last3=Giguere|title=Programming Interviews Exposed: Secrets to Landing Your Next Job|url=https://books.google.com/books?id=GQE4r2e5fAsC&pg=PA242|year=2012|publisher=John Wiley & Sons|isbn=978-1-118-28720-0|page=242}}</ref>
विभिन्न पैरामीटर (कंप्यूटर प्रोग्रामिंग) के उदाहरणों के साथ फंक्शन प्रोटोटाइप आर्गमेंट पासिंग मैकेनिज्म है:<ref name="MonganKindler2012">{{cite book|first1=John|last1=Mongan|first2=Noah|last2=Kindler|first3=Eric|last3=Giguere|title=Programming Interviews Exposed: Secrets to Landing Your Next Job|url=https://books.google.com/books?id=GQE4r2e5fAsC&pg=PA242|year=2012|publisher=John Wiley & Sons|isbn=978-1-118-28720-0|page=242}}</ref>
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
void Foo(Fruit bar);
void Foo(Fruit bar);
Line 48: Line 44:
void Foo(const Fruit& bar);
void Foo(const Fruit& bar);
</syntaxhighlight>
</syntaxhighlight>
उदाहरण सी ++ भाषा की [[समारोह अधिभार]] क्षमताओं को दिखा रहा है
उदाहरण सी ++ लैंग्वेज की फ़ंक्शन ओवरलोडिंग क्षमताओं को दिखा रहा है
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
void Foo(int bar);
void Foo(int bar);
Line 55: Line 51:
</syntaxhighlight>
</syntaxhighlight>


 
===पायथन (Python)===
===पायथन===
स्पैम, हैम और अंडे पायथन प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले प्रमुख मेटासिंटैक्टिक वैरिएबल हैं।<ref>{{Cite web|url=https://docs.python.org/3/tutorial/|title=The Python Tutorial — Python 3.8.1 documentation|website=docs.python.org}}</ref> यह लैंग्वेज के उपनाम मोंटी पाइथॉन के प्रसिद्ध कॉमेडी स्केच, "स्पैम" का संदर्भ है।<ref>{{Cite web |date=2021-09-04 |title=General Python FAQ — Python 3.9.7 documentation |url=https://docs.python.org/3/faq/general.html |url-status=live |archive-url=https://web.archive.org/web/20210826153036/https://docs.python.org/3/faq/general.html#why-is-it-called-python |archive-date=2021-08-26 |access-date=2021-09-05 |website=docs.python.org |publisher=Python Software Foundation |at=Why is it called Python?}}</ref> निम्नलिखित उदाहरण में <code>spam</code>, <code>ham</code>, और <code>eggs</code> मेटासिंटैक्टिक वैरिएबल और से प्रारंभ होने वाली रेखाएँ हैं <code>#</code> टिप्पणियाँ हैं।
[[स्पैम (भोजन)]], [[बहुत]] और [[अंडा (भोजन)]] [[पायथन प्रोग्रामिंग भाषा]] में उपयोग किए जाने वाले प्रमुख मेटासिंटैक्टिक चर हैं।<ref>{{Cite web|url=https://docs.python.org/3/tutorial/|title=The Python Tutorial — Python 3.8.1 documentation|website=docs.python.org}}</ref> यह भाषा के नाम [[ मोंटी अजगर ]] द्वारा प्रसिद्ध कॉमेडी स्केच, [[स्पैम (मोंटी पायथन)]] का एक संदर्भ है।<ref>{{Cite web |date=2021-09-04 |title=General Python FAQ — Python 3.9.7 documentation |url=https://docs.python.org/3/faq/general.html |url-status=live |archive-url=https://web.archive.org/web/20210826153036/https://docs.python.org/3/faq/general.html#why-is-it-called-python |archive-date=2021-08-26 |access-date=2021-09-05 |website=docs.python.org |publisher=Python Software Foundation |at=Why is it called Python?}}</ref>
निम्नलिखित उदाहरण में <code>spam</code>, <code>ham</code>, और <code>eggs</code> मेटासिंटैक्टिक चर और से शुरू होने वाली रेखाएँ हैं <code>#</code> टिप्पणियाँ हैं।
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
# Define a function named spam
# Define a function named spam
Line 72: Line 66:
</syntaxhighlight>
</syntaxhighlight>


=== आईईटीएफ टिप्पणियों के लिए अनुरोध ===
आईईटीएफ आरएफसी और कंप्यूटर प्रोग्रामिंग लैंग्वेज दोनों को सादे पाठ में प्रस्तुत किया गया है, जिससे नामकरण परंपरा द्वारा मेटासिंटैक्टिक वैरिएबल को अलग करना आवश्यक हो जाता है, क्योंकि यह संदर्भ से स्पष्ट नहीं होगा।


=== [[आईईटीएफ]] टिप्पणियों के लिए अनुरोध ===
[[ ईमेल ]] प्रोटोकॉल की व्याख्या करने वाले आधिकारिक IETF प्रलेखन से एक उदाहरण यहां दिया गया है (RFC 772 से - RFC 3092 में उद्धृत):
टिप्पणियों और [[कंप्यूटर प्रोग्रामिंग भाषा]]ओं के लिए आईईटीएफ अनुरोध दोनों [[सादे पाठ]] में प्रस्तुत किए जाते हैं, जिससे नामकरण सम्मेलन द्वारा मेटासिंटैक्टिक वेरिएबल्स को अलग करना आवश्यक हो जाता है, क्योंकि यह संदर्भ से स्पष्ट नहीं होगा।
   All is well; now the recipients can be specified.
 
[[ ईमेल ]] प्रोटोकॉल की व्याख्या करने वाले आधिकारिक IETF दस्तावेज़ से एक उदाहरण यहां दिया गया है (RFC 772 से - RFC 3092 में उद्धृत):
   सब ठीक है; अब प्राप्तकर्ताओं को निर्दिष्ट किया जा सकता है।
   
   
       S: MRCP TO:<Foo@Y> <CRLF>
       S: MRCP TO:<Foo@Y> <CRLF>
       आर: 200 ठीक है
       R: 200 OK
   
   
       S: MRCP TO:<Raboof@Y> <CRLF>
       S: MRCP TO:<Raboof@Y> <CRLF>
       आर: 553 यहां ऐसा कोई उपयोगकर्ता नहीं है
       R: 553 No such user here
   
   
       एस: एमआरसीपी टू: <बार @ वाई> <सीआरएलएफ>
       S: MRCP TO:<bar@Y> <CRLF>
       आर: 200 ठीक है
       R: 200 OK
   
   
       एस: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
       S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
       आर: 200 ठीक है
       R: 200 OK
   
   
   ध्यान दें कि रबूफ की विफलता का भंडारण पर कोई प्रभाव नहीं पड़ता है
   Note that the failure of "Raboof" has no effect on the storage of
  फू, बार के लिए मेल या fubar@Z को भेजे जाने वाले मेल
  mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z"
  होस्ट एक्स के माध्यम से।
  through host "X".
 
(टेक्सइन्फो (Texinfo) के लिए प्रलेखन कुछ टेक्सइन्फो फ़ाइल में प्रलेखित की जा रही प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटावेरिएबल्स और मात्र वेरिएबल्स के बीच अंतर पर जोर देता है: "मेटासिंटैक्टिक वेरिएबल्स को इंगित करने के लिए @var कमांड का उपयोग करें। मेटासिंटैक्टिक वेरिएबल कुछ ऐसा है जो टेक्स्ट के दूसरे टुकड़े के लिए खड़ा है। उदाहरण के लिए, आपको किसी फ़ंक्शन के प्रलेखनीकरण में उस फ़ंक्शन में दिए गए तर्कों का वर्णन करने के लिए एक मेटासिंटैक्टिक वैरिएबल का उपयोग करना चाहिए। प्रोग्रामिंग लैंग्वेज में विशेष वैरिएबल के नामों के लिए @var का उपयोग न करें। ये एक प्रोग्राम से विशिष्ट नाम हैं, इसलिए @code उनके लिए सही है.<ref>{{cite web |url=http://sunsite.ualberta.ca/Documentation/Gnu/texinfo-4.0/html_chapter/texinfo_10.html |title=शब्दों और वाक्यांशों को चिह्नित करना|work=Texinfo 4.0. The GNU Documentation Format|access-date=2012-11-25 |url-status=dead |archive-url=https://web.archive.org/web/20091106004856/http://sunsite.ualberta.ca/Documentation/Gnu/texinfo-4.0/html_chapter/texinfo_10.html |archive-date=2009-11-06 }}</ref>
 
उपरोक्त उदाहरण में परिलक्षित एक और बिंदु यह परंपरा है कि एक मेटावेरिएबल को किसी दिए गए स्कीमा में उसके सभी स्वरूपों में एक ही उदाहरण के साथ समान रूप से प्रतिस्थापित किया जाना है। यह औपचारिक व्याकरणों में गैर-टर्मिनल प्रतीकों के विपरीत है जहां किसी उत्पादन के दाईं ओर के गैर-टर्मिनलों को विभिन्न उदाहरणों द्वारा प्रतिस्थापित किया जा सकता है<ref name="Tennent2002">{{cite book|author=R. D. Tennent|title=Specifying Software: A Hands-On Introduction|year=2002|publisher=Cambridge University Press|isbn=978-0-521-00401-5|pages=36–37 and 210}}</ref>
 
 
 
 
 
 


(टेक्सइन्फो के लिए प्रलेखन कुछ टेक्सइन्फो फ़ाइल में प्रलेखित की जा रही प्रोग्रामिंग भाषा में उपयोग किए जाने वाले मेटावैरिएबल्स और मात्र चर के बीच अंतर पर जोर देता है: मेटासिन्टैक्टिक चर को इंगित करने के लिए @var कमांड का उपयोग करें। एक मेटासिंटैक्टिक चर कुछ ऐसा है जो पाठ के दूसरे भाग के लिए खड़ा है। के लिए उदाहरण के लिए, आपको किसी फ़ंक्शन के प्रलेखन में एक मेटासिंटैक्टिक वैरिएबल का उपयोग करना चाहिए जो उस फ़ंक्शन को पास किए गए तर्कों का वर्णन करता है। प्रोग्रामिंग भाषाओं में विशेष [[ चर (प्रोग्रामिंग) ]] के नामों के लिए @var का उपयोग न करें। ये एक प्रोग्राम के विशिष्ट नाम हैं , इसलिए @code उनके लिए सही है।<ref>{{cite web |url=http://sunsite.ualberta.ca/Documentation/Gnu/texinfo-4.0/html_chapter/texinfo_10.html |title=शब्दों और वाक्यांशों को चिह्नित करना|work=Texinfo 4.0. The GNU Documentation Format|access-date=2012-11-25 |url-status=dead |archive-url=https://web.archive.org/web/20091106004856/http://sunsite.ualberta.ca/Documentation/Gnu/texinfo-4.0/html_chapter/texinfo_10.html |archive-date=2009-11-06 }}</ref>)


उपरोक्त उदाहरण में परिलक्षित एक अन्य बिंदु यह है कि एक मेटावैरिएबल को समान रूप से एक ही उदाहरण के साथ एक दिए गए स्कीमा में इसके सभी दिखावे में प्रतिस्थापित किया जाना है। यह [[औपचारिक व्याकरण]] में गैर-टर्मिनल प्रतीकों के विपरीत है जहां उत्पादन के अधिकार पर गैर-टर्मिनल को विभिन्न उदाहरणों द्वारा प्रतिस्थापित किया जा सकता है।<ref name="Tennent2002">{{cite book|author=R. D. Tennent|title=Specifying Software: A Hands-On Introduction|year=2002|publisher=Cambridge University Press|isbn=978-0-521-00401-5|pages=36–37 and 210}}</ref>




== उदाहरण डेटा ==


=== [[एसक्यूएल]] ===
शिक्षण के उद्देश्य के लिए उदाहरण के लिए SQL [[डेटाबेस]] और प्लेसहोल्डर कंपनी-नाम के रूप में [[Acme Corporation]] नाम का उपयोग करना आम है। 'ACME डेटाबेस' शब्द का प्रयोग आमतौर पर प्रशिक्षण या केवल प्रशिक्षण या परीक्षण के लिए उपयोग किए जाने वाले डेटाबेस डेटा के उदाहरण-सेट के लिए किया जाता है।
ACME का उपयोग आमतौर पर प्रलेखन में भी किया जाता है जो SQL उपयोग के उदाहरणों को दिखाता है, जो कई शैक्षिक ग्रंथों के साथ-साथ [[Microsoft]] और [[Oracle Corporation]] जैसी कंपनियों के तकनीकी दस्तावेज़ों में एक सामान्य अभ्यास है।<ref name="Kriegel 2008 p.">{{cite book | last=Kriegel | first=Alex | title=एसक्यूएल बाइबिल| publisher=Wiley | publication-place=Indianapolis, Ind | year=2008 | isbn=978-0-470-22906-4 | oclc=402446308 }}</ref><ref name="Ruel 2014 p.">{{cite book | last=Ruel | first=Chris | title=Oracle 12c for dummies | publisher=John Wiley & Sons | publication-place=Hoboken, NJ | year=2014 | isbn=978-1-118-74531-1 | oclc=870334544 | language=da }}</ref><ref>{{Cite web|url=https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/work-with-data-in-asp-net-core-apps|title=ASP.NET कोर ऐप्स में डेटा के साथ काम करें|website=docs.microsoft.com}}</ref>


== उदाहरण डेटा ==


=== [[एसक्यूएल]] (SQL) ===
उदाहरण के तौर पर SQL [[डेटाबेस]] में और शिक्षण के उद्देश्य से प्लेसहोल्डर कंपनी के नाम के रूप में ACME नाम का उपयोग करना साधारण बात है। 'एसीएमई डेटाबेस' शब्द का उपयोग साधारणतया प्रशिक्षण या परीक्षण के लिए उपयोग किए जाने वाले डेटाबेस डेटा के प्रशिक्षण या उदाहरण-केवल सेट के लिए किया जाता है। एसीएमई का उपयोग साधारणतया प्रलेखनीकरण में भी किया जाता है जो एसक्यूएल उपयोग के उदाहरण दिखाता है, जो कई शैक्षिक ग्रंथों के साथ-साथ माइक्रोसॉफ्ट और ओरेकल जैसी कंपनियों के तकनीकी प्रलेखनीकरण में एक साधारण अभ्यास है।<ref name="Kriegel 2008 p.">{{cite book | last=Kriegel | first=Alex | title=एसक्यूएल बाइबिल| publisher=Wiley | publication-place=Indianapolis, Ind | year=2008 | isbn=978-0-470-22906-4 | oclc=402446308 }}</ref><ref name="Ruel 2014 p.">{{cite book | last=Ruel | first=Chris | title=Oracle 12c for dummies | publisher=John Wiley & Sons | publication-place=Hoboken, NJ | year=2014 | isbn=978-1-118-74531-1 | oclc=870334544 | language=da }}</ref><ref>{{Cite web|url=https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/work-with-data-in-asp-net-core-apps|title=ASP.NET कोर ऐप्स में डेटा के साथ काम करें|website=docs.microsoft.com}}</ref>
== यह भी देखें ==
== यह भी देखें ==
* [[मेटावेरिएबल (तर्क)]]तर्क)
* मेटावेरिएबल (तर्क)
* [[ज़ायज़ी (कंप्यूटिंग)]]
* [[ज़ायज़ी (कंप्यूटिंग)|एक्स वाई जेड जेड वे (xyzzy)]]
* [[ऐलिस और बॉब]]
* [[ऐलिस और बॉब]]
*[[जॉन डो]]
*जॉन डो
*फॉर्ड
*फॉर्ड
* [[मुक्त चर और बाध्य चर]]
* [[मुक्त चर और बाध्य चर|मुक्त वैरिएबल और बाध्य वैरिएबल]]
* [[गैजेट]]
* [[गैजेट]]
* [[लोरेम इप्सम]]
* लोरेम इप्सम
* [[गैर शब्द]]
* नॉन्स शब्द
* प्लेसहोल्डर का नाम
* प्लेसहोल्डर का नाम
* [[विजेट (अर्थशास्त्र)]]
* विजेट
* द स्मर्फ्स # लैंग्वेज
* स्मर्फ


==संदर्भ==
==संदर्भ==
Line 129: Line 129:
*[http://www.catb.org/jargon/html/C/Commonwealth-Hackish.html Examples of metasyntactic variables] used in ''[[Commonwealth of Nations|Commonwealth]] Hackish'', such as ''wombat''.
*[http://www.catb.org/jargon/html/C/Commonwealth-Hackish.html Examples of metasyntactic variables] used in ''[[Commonwealth of Nations|Commonwealth]] Hackish'', such as ''wombat''.
*[http://blog.codinghorror.com/variable-foo-and-other-programming-oddities/ Variable "foo" and Other Programming Oddities]
*[http://blog.codinghorror.com/variable-foo-and-other-programming-oddities/ Variable "foo" and Other Programming Oddities]
[[Category: प्लेसहोल्डर नाम]] [[Category: मेटालॉजिक]] [[Category: चर (कंप्यूटर विज्ञान)]] [[Category: सिंटेक्स (तर्क)]]


[[Category: Machine Translated Page]]
[[Category:Articles with Japanese-language sources (ja)]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 dansk-language sources (da)]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Template documentation pages|Short description/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:चर (कंप्यूटर विज्ञान)]]
[[Category:प्लेसहोल्डर नाम]]
[[Category:मेटालॉजिक]]
[[Category:सिंटेक्स (तर्क)]]

Latest revision as of 13:10, 14 September 2023

मेटासिंटैक्टिक वैरिएबल एक विशिष्ट शब्द या शब्दों का समूह है जिसे कंप्यूटर विज्ञान और विशेष रूप से कंप्यूटर प्रोग्रामिंग में प्लेसहोल्डर के रूप में मान्यता प्राप्त है। ये शब्द साधारणतया स्रोत कोड में पाए जाते हैं और इन्हें वास्तविक दुनिया में उपयोग से पहले संशोधित या प्रतिस्थापित करने का इरादा होता है। उदाहरण के लिए, फू और बार का उपयोग टिप्पणियों, प्रलेखनों (डाक्यूमेंट्स) के लिए 330 से अधिक इंटरनेट इंजीनियरिंग टास्क फोर्स अनुरोधों में किया जाता है जो HTTP (वेब), टीसीपी/आईपी और ईमेल प्रोटोकॉल जैसी मूलभूत इंटरनेट प्रौद्योगिकियों को परिभाषित करते हैं।[1][2]

गणितीय सादृश्य (मैथमेटिकल अनलोगी) द्वारा, मेटासिंटैक्टिक वैरिएबल एक ऐसा शब्द है जो अन्य शब्दों के लिए एक वैरिएबल है, जैसे बीजगणित में अक्षरों को संख्याओं के लिए वैरिएबल के रूप में उपयोग किया जाता है।[1]

मेटासिंटैक्टिक वेरिएबल्स का उपयोग वेरिएबल्स, फ़ंक्शंस और कमांड जैसी संस्थाओं को नाम देने के लिए किया जाता है जिनकी सटीक पहचान महत्वहीन है और केवल एक अवधारणा को प्रदर्शित करने के लिए काम करती है, जो प्रोग्रामिंग सिखाने के लिए उपयोगी है।

सामान्य मेटासिंटैक्टिक वैरिएबल

अंग्रेजी अधिकांश कंप्यूटर प्रोग्रामिंग लैंग्वेज की मूल लैंग्वेज या सामान्य लैंग्वेज होने के कारण, ये वैरिएबल साधारणतया अन्य बोली जाने वाली लैंग्वेज के दर्शकों के लिए लिखे गए कार्यक्रमों और कार्यक्रमों के उदाहरणों में भी देखे जाते हैं।

हालाँकि विशिष्ट नाम उस उपसंस्कृति पर निर्भर हो सकते हैं जो किसी दी गई प्रोग्रामिंग लैंग्वेज के आसपास विकसित हुई है।

सामान्य उपयोग

साधारणतया सभी प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटासिंटैक्टिक वेरिएबल्स में foobar, foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, and thud शामिल हैं; इनमें से कई शब्द गेम कोलोसल केव एडवेंवैरिएबल के संदर्भ हैं[1][3]

एक संपूर्ण संदर्भ द हैकर्स डिक्शनरी नामक एमआईटी प्रेस की पुस्तक में पाया जा सकता है।

जापानी

जापानी में, शब्द hoge (होग)[4] और फूगा (ふが) साधारणतया उपयोग किए जाते हैं, अन्य साधारण शब्दों और रूपों के साथ पियो (ぴよ), hogera (हुगेरा), और hogehoge (होगेहोग)।[5] उद्गम hoge एक मेटासिंटैक्टिक वैरिएबल के रूप में ज्ञात नहीं है, लेकिन ऐसा माना जाता है कि यह 1980 के दशक की प्रारंभ में हुआ था।[5]

उपयोग के उदाहरण

इंटरएक्टिव शेल सत्र में मेटासिंटैक्टिक वेरिएबल FOO का एक स्क्रीनशॉट असाइन किया गया और प्रतिध्वनित किया गया।

सी (C)

निम्नलिखित उदाहरण में फ़ंक्शन का नाम foo और वैरिएबल नाम bar दोनों मेटासिंटैक्टिक वैरिएबल हैं। से प्रारंभ होने वाली पंक्तियाँ // टिप्पणियाँ हैं।

// The function named foo
int foo(void)
{
   // Declare the variable bar and set the value to 1
   int bar = 1;

   return bar;
}

C++

विभिन्न पैरामीटर (कंप्यूटर प्रोग्रामिंग) के उदाहरणों के साथ फंक्शन प्रोटोटाइप आर्गमेंट पासिंग मैकेनिज्म है:[6]

void Foo(Fruit bar);
void Foo(Fruit* bar);
void Foo(const Fruit& bar);

उदाहरण सी ++ लैंग्वेज की फ़ंक्शन ओवरलोडिंग क्षमताओं को दिखा रहा है

void Foo(int bar);
void Foo(int bar, int baz);
void Foo(int bar, int baz, int qux);

पायथन (Python)

स्पैम, हैम और अंडे पायथन प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले प्रमुख मेटासिंटैक्टिक वैरिएबल हैं।[7] यह लैंग्वेज के उपनाम मोंटी पाइथॉन के प्रसिद्ध कॉमेडी स्केच, "स्पैम" का संदर्भ है।[8] निम्नलिखित उदाहरण में spam, ham, और eggs मेटासिंटैक्टिक वैरिएबल और से प्रारंभ होने वाली रेखाएँ हैं # टिप्पणियाँ हैं।

# Define a function named spam
def spam():

    # Define the variable ham
    ham = "Hello World!"

    # Define the variable eggs
    eggs = 1

    return

आईईटीएफ टिप्पणियों के लिए अनुरोध

आईईटीएफ आरएफसी और कंप्यूटर प्रोग्रामिंग लैंग्वेज दोनों को सादे पाठ में प्रस्तुत किया गया है, जिससे नामकरण परंपरा द्वारा मेटासिंटैक्टिक वैरिएबल को अलग करना आवश्यक हो जाता है, क्योंकि यह संदर्भ से स्पष्ट नहीं होगा।

ईमेल प्रोटोकॉल की व्याख्या करने वाले आधिकारिक IETF प्रलेखन से एक उदाहरण यहां दिया गया है (RFC 772 से - RFC 3092 में उद्धृत):

 All is well; now the recipients can be specified.

     S: MRCP TO:<Foo@Y> <CRLF>
     R: 200 OK

     S: MRCP TO:<Raboof@Y> <CRLF>
     R: 553  No such user here

     S: MRCP TO:<bar@Y> <CRLF>
     R: 200 OK

     S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
     R: 200 OK

  Note that the failure of "Raboof" has no effect on the storage of
  mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z"
  through host "X".

(टेक्सइन्फो (Texinfo) के लिए प्रलेखन कुछ टेक्सइन्फो फ़ाइल में प्रलेखित की जा रही प्रोग्रामिंग लैंग्वेज में उपयोग किए जाने वाले मेटावेरिएबल्स और मात्र वेरिएबल्स के बीच अंतर पर जोर देता है: "मेटासिंटैक्टिक वेरिएबल्स को इंगित करने के लिए @var कमांड का उपयोग करें। मेटासिंटैक्टिक वेरिएबल कुछ ऐसा है जो टेक्स्ट के दूसरे टुकड़े के लिए खड़ा है। उदाहरण के लिए, आपको किसी फ़ंक्शन के प्रलेखनीकरण में उस फ़ंक्शन में दिए गए तर्कों का वर्णन करने के लिए एक मेटासिंटैक्टिक वैरिएबल का उपयोग करना चाहिए। प्रोग्रामिंग लैंग्वेज में विशेष वैरिएबल के नामों के लिए @var का उपयोग न करें। ये एक प्रोग्राम से विशिष्ट नाम हैं, इसलिए @code उनके लिए सही है.[9]

उपरोक्त उदाहरण में परिलक्षित एक और बिंदु यह परंपरा है कि एक मेटावेरिएबल को किसी दिए गए स्कीमा में उसके सभी स्वरूपों में एक ही उदाहरण के साथ समान रूप से प्रतिस्थापित किया जाना है। यह औपचारिक व्याकरणों में गैर-टर्मिनल प्रतीकों के विपरीत है जहां किसी उत्पादन के दाईं ओर के गैर-टर्मिनलों को विभिन्न उदाहरणों द्वारा प्रतिस्थापित किया जा सकता है[10]







उदाहरण डेटा

एसक्यूएल (SQL)

उदाहरण के तौर पर SQL डेटाबेस में और शिक्षण के उद्देश्य से प्लेसहोल्डर कंपनी के नाम के रूप में ACME नाम का उपयोग करना साधारण बात है। 'एसीएमई डेटाबेस' शब्द का उपयोग साधारणतया प्रशिक्षण या परीक्षण के लिए उपयोग किए जाने वाले डेटाबेस डेटा के प्रशिक्षण या उदाहरण-केवल सेट के लिए किया जाता है। एसीएमई का उपयोग साधारणतया प्रलेखनीकरण में भी किया जाता है जो एसक्यूएल उपयोग के उदाहरण दिखाता है, जो कई शैक्षिक ग्रंथों के साथ-साथ माइक्रोसॉफ्ट और ओरेकल जैसी कंपनियों के तकनीकी प्रलेखनीकरण में एक साधारण अभ्यास है।[11][12][13]

यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Eastlake 3rd, Donald E.; Manros, Carl-Uno; Raymond, Eric S. "फू" की व्युत्पत्ति. doi:10.17487/RFC3092. RFC 3092.
  2. "दस्तावेज़ पुनर्प्राप्ति". RFC Editor.
  3. Laughlin, Stuart (November 18, 2016). "मेटासिंटैक्टिक चर". programming@ProgClub (Mailing list). Archived from the original on December 2, 2022. Retrieved November 18, 2016.
  4. "hogeの意味・使い方 - 英和辞典 Weblio 辞書". ejje.weblio.jp.
  5. 5.0 5.1 メタ構文変数 (in Japanese)
  6. Mongan, John; Kindler, Noah; Giguere, Eric (2012). Programming Interviews Exposed: Secrets to Landing Your Next Job. John Wiley & Sons. p. 242. ISBN 978-1-118-28720-0.
  7. "The Python Tutorial — Python 3.8.1 documentation". docs.python.org.
  8. "General Python FAQ — Python 3.9.7 documentation". docs.python.org. Python Software Foundation. 2021-09-04. Why is it called Python?. Archived from the original on 2021-08-26. Retrieved 2021-09-05.
  9. "शब्दों और वाक्यांशों को चिह्नित करना". Texinfo 4.0. The GNU Documentation Format. Archived from the original on 2009-11-06. Retrieved 2012-11-25.
  10. R. D. Tennent (2002). Specifying Software: A Hands-On Introduction. Cambridge University Press. pp. 36–37 and 210. ISBN 978-0-521-00401-5.
  11. Kriegel, Alex (2008). एसक्यूएल बाइबिल. Indianapolis, Ind: Wiley. ISBN 978-0-470-22906-4. OCLC 402446308.
  12. Ruel, Chris (2014). Oracle 12c for dummies (in dansk). Hoboken, NJ: John Wiley & Sons. ISBN 978-1-118-74531-1. OCLC 870334544.
  13. "ASP.NET कोर ऐप्स में डेटा के साथ काम करें". docs.microsoft.com.


बाहरी संबंध