सिगिल (कंप्यूटर प्रोग्रामिंग): Difference between revisions

From Vigyanwiki
(Created page with "{{Other uses|Sigil (disambiguation)}} {{short description|Symbol affixed to a variable name}} कंप्यूटर प्रोग्रामिंग में, ए...")
 
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Other uses|Sigil (disambiguation)}}
{{Other uses|Sigil (disambiguation)}}
{{short description|Symbol affixed to a variable name}}
{{short description|Symbol affixed to a variable name}}
[[कंप्यूटर प्रोग्रामिंग]] में, एक सिगिल ({{IPAc-en|ˈ|s|ɪ|dʒ|əl}}) एक [[चर (प्रोग्रामिंग)]] नाम से जुड़ा एक प्रतीक है, जो चर के [[ डेटा प्रकार ]] या [[ कार्यक्षेत्र (प्रोग्रामिंग) ]] को दर्शाता है, आमतौर पर एक उपसर्ग, जैसा कि <code>$foo</code>, कहाँ <code>$</code> सिगिल है।
[[कंप्यूटर प्रोग्रामिंग]] में, सिगिल ({{IPAc-en|ˈ|s|ɪ|dʒ|əl}}) एक [[चर (प्रोग्रामिंग)]] नाम से जुड़ा एक प्रतीक है, जो चर के [[ डेटा प्रकार |डेटा प्रकार]] या [[ कार्यक्षेत्र (प्रोग्रामिंग) |कार्यक्षेत्र (प्रोग्रामिंग)]] को दर्शाता है, आमतौर पर एक उपसर्ग, जैसा कि <code>$foo</code>, जहां <code>$</code> सिगिल है।


विक्ट: सिगिल, [[लैटिन]] शब्द विक्ट: सिगिलम से, जिसका अर्थ है एक छोटा सा चिह्न , का अर्थ है एक संकेत या छवि जिसमें कथित रूप से जादुई शक्ति हो।<ref>{{cite web|title=सिगिल की परिभाषा|url=http://www.collinsdictionary.com/dictionary/english/sigil|work=[[Collins English Dictionary]]|access-date=22 May 2012}}</ref> सिगिल का उपयोग अलग-अलग गुणों या व्यवहार वाले नामस्थानों को अलग और सीमांकित करने के लिए किया जा सकता है।
सिगिल, [[लैटिन]] शब्द सिगिलम से, जिसका अर्थ "एक छोटा सा चिह्न" है, मतलब संकेत या छवि जिसमें कथित रूप से जादुई शक्ति हो।<ref>{{cite web|title=सिगिल की परिभाषा|url=http://www.collinsdictionary.com/dictionary/english/sigil|work=[[Collins English Dictionary]]|access-date=22 May 2012}}</ref> सिगिल का उपयोग अलग-अलग गुणों या व्यवहार वाले नामस्थानों को अलग और सीमांकित करने के लिए किया जा सकता है।


== ऐतिहासिक संदर्भ ==
== ऐतिहासिक संदर्भ ==
[[ बुनियादी प्रोग्रामिंग भाषा ]] द्वारा सिगिल्स के उपयोग को लोकप्रिय बनाया गया था। बेसिक में सिगिल का सबसे प्रसिद्ध उदाहरण डॉलर चिह्न है (<code>$</code>) सभी [[स्ट्रिंग (कंप्यूटर विज्ञान)]] के नामों के साथ जोड़ा गया। नतीजतन, अमेरिका के बाहर के प्रोग्रामर उच्चारण करते हैं <code>$</code> डॉलर के बजाय स्ट्रिंग के रूप में। कई बुनियादी बोलियाँ अन्य सिगिल्स का उपयोग करती हैं (जैसे<code>%</code>) [[पूर्णांक]]ों और [[ चल बिन्दु संख्या ]]ों और उनकी शुद्धता, और कभी-कभी अन्य प्रकारों को भी निरूपित करने के लिए।
[[ बुनियादी प्रोग्रामिंग भाषा |बेसिक प्रोग्रामिंग भाषा]] द्वारा सिगिल्स के उपयोग को लोकप्रिय बनाया गया था। बेसिक में सिगिल का सबसे प्रसिद्ध उदाहरण डॉलर चिह्न (<code>$</code>) है जो सभी [[स्ट्रिंग (कंप्यूटर विज्ञान)]] के नाम से जुड़ा हुआ है। परिणाम स्वरूप, अमेरिका के बाहर के प्रोग्रामर <code>$</code> को "डॉलर" के बजाय "स्ट्रिंग" के रूप में उच्चारित करते हैं। कई बेसिक उपभाषाएं [[पूर्णांक]] और [[ चल बिन्दु संख्या |फ़्लोटिंग-पॉइंट संख्याओं]] और उनकी सटीकता, और कभी-कभी अन्य प्रकारों को भी निरूपित करने के लिए अन्य सिगिल्स (जैसे<code>%</code>) का उपयोग करती हैं।


[[लैरी वॉल]] ने अपनी [[पर्ल]] प्रोग्रामिंग भाषा के लिए [[ खोल स्क्रिप्ट ]]िंग के सिगिल्स के उपयोग को अपनाया।{{citation needed|date=April 2018}} पर्ल में, सिगिल ठीक-ठीक डेटा प्रकार जैसे तार और पूर्णांक निर्दिष्ट नहीं करते हैं, लेकिन [[ अदिश (कम्प्यूटिंग) ]] की अधिक सामान्य श्रेणियां (एक उपसर्ग का उपयोग करके)<code>$</code>), सरणियाँ (उपयोग<code>@</code>), [[ हैश तालिका ]] (उपयोग<code>%</code>), और [[सबरूटीन]]्स (का उपयोग कर<code>&</code>). [[ राकू (प्रोग्रामिंग भाषा) ]] भी सेकेंडरी सिगिल्स, या टवीगिल्स का उपयोग करता है,<ref>[http://doc.perl6.org/language/variables#Twigils "Perl 6 variables:Twigils"], Perl 6 Documentation.</ref> चर के दायरे को इंगित करने के लिए। राकू में टहनियों के प्रमुख उदाहरणों में शामिल हैं<code>^</code>, स्व-घोषित औपचारिक मापदंडों (प्लेसहोल्डर चर) के साथ प्रयोग किया जाता है, और<code>.</code>, ऑब्जेक्ट विशेषता एक्सेसर्स (यानी, उदाहरण चर) के साथ प्रयोग किया जाता है।
[[लैरी वॉल]] ने अपनी [[पर्ल]] प्रोग्रामिंग भाषा के लिए [[ खोल स्क्रिप्ट |शेल लिपिबद्धन]] के सिगिल्स के उपयोग को अपनाया।{{citation needed|date=April 2018}} पर्ल में, सिगिल सूक्ष्मकणी डेटा प्रकार जैसे स्ट्रिंग और पूर्णांक निर्दिष्ट नहीं करते हैं, लेकिन [[ अदिश (कम्प्यूटिंग) | अदिश (कम्प्यूटिंग)]] की अधिक सामान्य श्रेणियां (उपसर्ग <code>$</code>का उपयोग करके), सरणियाँ (<code>@</code>का उपयोग करके), [[ हैश तालिका |हैश तालिका]] (<code>%</code> का उपयोग करके), और [[सबरूटीन|उपनेमिका]] (<code>&</code> का उपयोग कर)[[ राकू (प्रोग्रामिंग भाषा) | राकू (प्रोग्रामिंग भाषा)]]<ref>[http://doc.perl6.org/language/variables#Twigils "Perl 6 variables:Twigils"], Perl 6 Documentation.</ref> चर के क्षेत्र को इंगित करने के लिए सेकेंडरी सिगिल्स, या टवीगिल्स का भी उपयोग करता है। राकू में ट्विगिल्स के प्रमुख उदाहरणों में <code>^</code> सम्मिलित हैं, स्व-घोषित औपचारिक मापदंडों (प्लेसहोल्डर चर) के साथ प्रयोग किया जाता है, और<code>.</code>, ऑब्जेक्ट विशेषता सहायक (यानी, इंस्टेंस चर) के साथ प्रयोग किया जाता है।


== कुछ भाषाओं में सिगिल का उपयोग ==
== कुछ भाषाओं में सिगिल का उपयोग ==


[[CLIPS]] में, स्केलर वेरिएबल्स को a के साथ प्रीफ़िक्स किया जाता है<code>?</code>सिगिल, जबकि मल्टीफ़ील्ड (उदाहरण के लिए, एक 1-स्तरीय सूची) चर के साथ उपसर्ग किया जाता है<code>$?</code>.
[[CLIPS]] में, अदिश चरों के आगे a के साथ <code>?</code>सिगिल लगा होता है, जबकि बहुशाखी (उदाहरण के लिए, 1-स्तरीय सूची) चरों के साथ <code>$?</code> (प्रीफ़िक्स्ड) लगा होता हैं।


[[सामान्य लिस्प]] में, विशेष चर (गतिशील दायरे के साथ) आमतौर पर घिरे होते हैं <code>*</code> जिसे [[कानों को छिपानेवाले हिस्सा सम्मेलन]] कहा जाता है। जबकि यह केवल परिपाटी है, और इसे लागू नहीं किया जाता है, भाषा स्वयं अभ्यास को अपनाती है (उदाहरण के लिए, *मानक-आउटपुट*)। इसी तरह, कुछ प्रोग्रामर स्थिरांक को घेरते हैं <code>+</code>.
[[सामान्य लिस्प|कॉमन लिस्प]] में, विशेष चर (गतिशील दायरे के साथ) आमतौर पर <code>*</code> घिरे होते हैं जिसे [[कानों को छिपानेवाले हिस्सा सम्मेलन|"इयरमफ कन्वेंशन"]] कहा जाता है। जबकि यह केवल परिपाटी है, और इसे लागू नहीं किया जाता है, भाषा स्वयं अभ्यास को अपनाती है (उदाहरण के लिए, *मानक-आउटपुट*)। इसी तरह, कुछ प्रोग्रामर स्थिरांक को <code>+</code> घेरते हैं।


[[CycL]] में, चर के साथ एक उपसर्ग लगाया जाता है<code>?</code>sigil.<ref>{{cite web|url=http://www.cyc.com/cycl/syntax/variables/|title=Variables – Cycorp|website=www.Cyc.com|access-date=31 December 2017}}</ref> इसी तरह, स्थिर नामों के साथ उपसर्ग किया जाता है<code>#$</code>(उच्चारण हैश-डॉलर)<ref>{{cite web|url=http://www.cyc.com/cycl/syntax/constants-0/|title=Constants – Cycorp|website=www.Cyc.com|access-date=31 December 2017}}</ref>
[[CycL]] में, चर के साथ <code>?</code>सिगिल के साथ प्रीफ़िक्स्ड (उपसर्ग) होते हैं।<ref>{{cite web|url=http://www.cyc.com/cycl/syntax/variables/|title=Variables – Cycorp|website=www.Cyc.com|access-date=31 December 2017}}</ref> इसी तरह, स्थिर नामों के साथ <code>#$</code> (उच्चारण हैश-डॉलर) प्रीफ़िक्स्ड किया जाता है <ref>{{cite web|url=http://www.cyc.com/cycl/syntax/constants-0/|title=Constants – Cycorp|website=www.Cyc.com|access-date=31 December 2017}}</ref>
[[ अमृत ​​​​(प्रोग्रामिंग भाषा) ]] में, सिगिल के माध्यम से प्रदान किया जाता है<code>~</code>प्रतीक, उसके बाद सिगिल के प्रकार को दर्शाने के लिए एक अक्षर और फिर सीमांकक। उदाहरण के लिए, <code>~r(foo)</code> foo की नियमित अभिव्यक्ति है। अन्य सिगिल में शामिल हैं <code>~s</code> तार के लिए और <code>~D</code> तिथियों के लिए। प्रोग्रामर अपना स्वयं का सिगिल भी बना सकते हैं।<ref>{{cite web | url=https://elixir-lang.org/getting-started/sigils.html | title=Getting Started: Sigils | website=Elixir | access-date=18 January 2022}}</ref>
[[गूढ़ प्रोग्रामिंग भाषा]] [[INTERCAL]] में, चर एक 16-बिट पूर्णांक पहचानकर्ता हैं जो किसी के साथ उपसर्ग करते हैं<code>.</code>(स्पॉट कहा जाता है) 16-बिट मानों के लिए,<code>:</code>(जिसे ट्वोस्पॉट कहा जाता है) 32-बिट मानों के लिए,<code>,</code>(पूंछ) 16-बिट मानों की सरणियों के लिए और<code>;</code>(हाइब्रिड) 32-बिट मानों की सरणियों के लिए।<ref>{{Cite web |title=C-INTERCAL 0.29 Revamped Instruction Manual |url=http://catb.org/~esr/intercal/ick.htm#Constants-and-Variables |access-date=2022-06-30 |website=catb.org}}</ref> बाद में सीएलसी-इंटरकल जोड़ा गया<code>@</code>(भँवर) एक चर के लिए जिसमें कोई मूल्य नहीं हो सकता है (कक्षा (कंप्यूटर प्रोग्रामिंग) के लिए उपयोग किया जाता है) और<code>_</code>एक संशोधित [[संकलक]] को संग्रहीत करने के लिए उपयोग किया जाता है।<ref>{{Cite web |title=सीएलसी-आंतरिक संदर्भ|url=https://oshaboy.github.io/clc_intercal_docs/expressions.html#variables |access-date=2022-06-30 |website=oshaboy.github.io}}</ref>
[[MAPPER]] (उर्फ BIS) में, नामित चर < के साथ उपसर्ग किया जाता है और > के साथ प्रत्यय लगाया जाता है क्योंकि स्ट्रिंग्स या वर्ण मानों को उद्धरणों की आवश्यकता नहीं होती है।


MIRC स्क्रिप्ट में, पहचानकर्ताओं के पास a होता है<code>$</code>सिगिल, जबकि सभी चरों में a<code>%</code>उपसर्ग (स्थानीय या वैश्विक चर या डेटा प्रकार की परवाह किए बिना)। बाइनरी वेरिएबल्स को a द्वारा प्रीफ़िक्स किया जाता है<code>&amp;</code>.
[[ अमृत ​​​​(प्रोग्रामिंग भाषा) |अमृत ​​​​(प्रोग्रामिंग भाषा)]] में, सिगिल <code>~</code>प्रतीक के माध्यम से प्रदान किए जाते हैं, इसके बाद सिगिल के प्रकार को दर्शाने के लिए अक्षर और फिर सीमांकक होते हैं। उदाहरण के लिए, <code>~r(foo)</code> "foo" की नियमित अभिव्यक्ति है। अन्य सिगिल में स्ट्रिंग्स के लिए  <code>~s</code> और तिथियों के लिए <code>~D</code> सम्मिलित हैं। प्रोग्रामर अपना स्वयं का सिगिल भी बना सकते हैं।<ref>{{cite web | url=https://elixir-lang.org/getting-started/sigils.html | title=Getting Started: Sigils | website=Elixir | access-date=18 January 2022}}</ref>


MUMPS (प्रोग्रामिंग लैंग्वेज) प्रोग्रामिंग लैंग्वेज में,<code>$</code>आंतरिक फ़ंक्शन नाम और विशेष चर नाम (निष्पादन स्थिति तक पहुँचने के लिए अंतर्निहित चर) से पहले।<code>$Z</code>गैर-मानक आंतरिक फ़ंक्शन नामों से पहले।<code>$$</code>बाहरी फ़ंक्शन नामों से पहले। रूटीन (प्रक्रियाओं, सबरूटीन्स, फ़ंक्शंस के लिए प्रयुक्त) और वैश्विक चर (डेटाबेस स्टोरेज) एक कैरेट (^) द्वारा प्रीफ़िक्स्ड हैं। अंतिम वैश्विक चर सबट्री को अप्रत्यक्ष रूप से एक कैरेट और अंतिम सबस्क्रिप्ट द्वारा संदर्भित किया जा सकता है; इसे नग्न संदर्भ कहा जाता है। सिस्टम-वाइड रूटीन और वैश्विक चर (कुछ साझा डेटाबेस में संग्रहीत) ^% के साथ उपसर्ग हैं; इन्हें प्रतिशत रूटीन और प्रतिशत ग्लोबल्स कहा जाता है।
[[गूढ़ प्रोग्रामिंग भाषा]] [[INTERCAL]] में, चर 16-बिट पूर्णांक पहचानकर्ता हैं जो किसी के साथ उपसर्ग करते हैं  16-बिट मानों के लिए <code>.</code>(स्पॉट कहा जाता है), 32-बिट मानों के लिए <code>:</code>(जिसे "ट्वोस्पॉट" कहा जाता है), <code>,</code>("पूंछ") 16-बिट मानों की सरणियों के लिए और 32-बिट मानों की सरणियों के लिए <code>;</code>("हाइब्रिड") के साथ प्रीफ़िक्स्ड (उपसर्ग) करते हैं।<ref>{{Cite web |title=C-INTERCAL 0.29 Revamped Instruction Manual |url=http://catb.org/~esr/intercal/ick.htm#Constants-and-Variables |access-date=2022-06-30 |website=catb.org}}</ref> बाद में सीएलसी-इंटरकल ने चर के लिए<code>@</code> ("व्हर्लपूल") जोड़ा जिसमें कोई मूल्य नहीं हो सकता है (कक्षाओं के लिए प्रयुक्त) और<code>_</code> संशोधित [[संकलक]] को संग्रहीत करने के लिए उपयोग किया जाता है।<ref>{{Cite web |title=सीएलसी-आंतरिक संदर्भ|url=https://oshaboy.github.io/clc_intercal_docs/expressions.html#variables |access-date=2022-06-30 |website=oshaboy.github.io}}</ref>


[[ उद्देश्य सी ]] में, स्ट्रिंग लिटरल से पहले<code>@</code>वस्तु प्रकार के उदाहरण हैं <code>NSString</code> या, [[बजना]] v3.1 / [[LLVM]] v4.0 के बाद से, <code>NSNumber</code>, <code>NSArray</code> या <code>NSDictionary</code>. उपसर्ग <code>@</code> कीवर्ड पर भी प्रयोग किया जाता है <code>interface</code>, <code>implementation</code>, और <code>end</code> वर्ग परिभाषाओं की संरचना को व्यक्त करने के लिए। वर्ग घोषणाओं और परिभाषाओं के भीतर भी, का एक उपसर्ग <code>-</code> उपसर्ग के दौरान सदस्य विधियों और चर को इंगित करने के लिए प्रयोग किया जाता है <code>+</code> वर्ग तत्वों को इंगित करता है।
[[MAPPER]] (उर्फ BIS) में, नामित चर "<" के साथ उपसर्ग किया जाता है और ">" के साथ प्रत्यय लगाया जाता है क्योंकि स्ट्रिंग्स या वर्ण मानों को उद्धरण चिहन की आवश्यकता नहीं होती है।
 
MIRC स्क्रिप्ट में, पहचानकर्ताओं के पास <code>$</code>सिगिल होता है, जबकि सभी a चरों में a<code>%</code>उपसर्ग (स्थानीय या वैश्विक चर या डेटा प्रकार की परवाह किए बिना) होता है। बाइनरी चरों को <code>&amp;</code> द्वारा उपसर्ग किया जाता है।
 
MUMPS (प्रोग्रामिंग लैंग्वेज) प्रोग्रामिंग लैंग्वेज में,<code>$</code>आंतरिक फ़ंक्शन नाम और विशेष चर नाम (निष्पादन स्थिति तक पहुँचने के लिए अंतर्निहित चर) से पहले।<code>$Z</code>गैर-मानक आंतरिक फ़ंक्शन नामों से पहले।<code>$$</code>बाहरी फ़ंक्शन नामों से पहले। रूटीन (प्रक्रियाओं, सबरूटीन्स, फलन के लिए प्रयुक्त) और वैश्विक चर (डेटाबेस स्टोरेज) एक कैरेट (^) द्वारा उपसर्ग्ड हैं। अंतिम वैश्विक चर सबट्री को अप्रत्यक्ष रूप से एक कैरेट और अंतिम सबस्क्रिप्ट द्वारा संदर्भित किया जा सकता है; इसे नग्न संदर्भ कहा जाता है। सिस्टम-वाइड रूटीन और वैश्विक चर (कुछ साझा डेटाबेस में संग्रहीत) ^% के साथ उपसर्ग हैं; इन्हें प्रतिशत रूटीन और प्रतिशत ग्लोबल्स कहा जाता है।
 
[[ उद्देश्य सी ]] में, स्ट्रिंग लिटरल से पहले<code>@</code>वस्तु प्रकार के उदाहरण हैं <code>NSString</code> या, [[बजना]] v3.1 / [[LLVM]] v4.0 के बाद से, <code>NSNumber</code>, <code>NSArray</code> या <code>NSDictionary</code>. उपसर्ग <code>@</code> खोजशब्दों पर भी प्रयोग किया जाता है <code>interface</code>, <code>implementation</code>, और <code>end</code> वर्ग परिभाषाओं की संरचना को व्यक्त करने के लिए। वर्ग घोषणाओं और परिभाषाओं के भीतर भी, का एक उपसर्ग <code>-</code> उपसर्ग के दौरान सदस्य विधियों और चर को इंगित करने के लिए प्रयोग किया जाता है <code>+</code> वर्ग तत्वों को इंगित करता है।


[[PHP]] भाषा में, जो काफी हद तक पर्ल से प्रेरित थी,<code>$</code>किसी भी चर (प्रोग्रामिंग) नाम से पहले। इसके द्वारा उपसर्ग नहीं किए जाने वाले नामों को स्थिर (कंप्यूटर विज्ञान), फ़ंक्शन (कंप्यूटर विज्ञान) या वर्ग (कंप्यूटर प्रोग्रामिंग) नाम (या इंटरफ़ेस या विशेषता नाम, जो समान नामस्थान को कक्षाओं के रूप में साझा करते हैं) माना जाता है।
[[PHP]] भाषा में, जो काफी हद तक पर्ल से प्रेरित थी,<code>$</code>किसी भी चर (प्रोग्रामिंग) नाम से पहले। इसके द्वारा उपसर्ग नहीं किए जाने वाले नामों को स्थिर (कंप्यूटर विज्ञान), फ़ंक्शन (कंप्यूटर विज्ञान) या वर्ग (कंप्यूटर प्रोग्रामिंग) नाम (या इंटरफ़ेस या विशेषता नाम, जो समान नामस्थान को कक्षाओं के रूप में साझा करते हैं) माना जाता है।
Line 31: Line 34:
[[पायलट]] उपयोग करता है<code>$</code>बफ़र्स के लिए (स्ट्रिंग चर),<code>#</code>पूर्णांक चर के लिए, और<code>*</code>प्रोग्राम लेबल के लिए।
[[पायलट]] उपयोग करता है<code>$</code>बफ़र्स के लिए (स्ट्रिंग चर),<code>#</code>पूर्णांक चर के लिए, और<code>*</code>प्रोग्राम लेबल के लिए।


पायथन (प्रोग्रामिंग लैंग्वेज) का उपयोग करता है<code>@</code>पायथन सिंटैक्स और शब्दार्थ # डेकोरेटर्स के अनुप्रयोग के लिए उपसर्ग, जिसे पाई सिंटैक्स कहा जाता है<ref>{{cite web|title=PEP 318 -- Decorators for Functions and Methods|url=https://www.python.org/dev/peps/pep-0318/#background}}</ref> और ए<code>__</code>उपसर्ग, जिसे डंडर कहा जाता है, नाम के लिए मैंगलिंग#पायथन| निजी गुण।
पायथन (प्रोग्रामिंग लैंग्वेज) का उपयोग करता है<code>@</code>पायथन रचनाक्रम और शब्दार्थ # डेकोरेटर्स के अनुप्रयोग के लिए उपसर्ग, जिसे पाई रचनाक्रम कहा जाता है<ref>{{cite web|title=PEP 318 -- Decorators for Functions and Methods|url=https://www.python.org/dev/peps/pep-0318/#background}}</ref> और ए<code>__</code>उपसर्ग, जिसे डंडर कहा जाता है, नाम के लिए मैंगलिंग#पायथन| निजी गुण।


[[ रूबी प्रोग्रामिंग भाषा ]] में, साधारण चर में सिगिल्स की कमी होती है, लेकिन<code>$</code>[[वैश्विक चर]] के लिए उपसर्ग है,<code>@</code>आवृत्ति चर के लिए प्रीफ़िक्स्ड है, और<code>@@</code>[[वर्ग चर]] के लिए उपसर्ग है। रूबी भी अनुमति देता है (सख्ती से पारंपरिक) प्रत्यय sigils:<code>?</code>एक [[बूलियन समारोह]] या एक सत्य मान#कंप्यूटिंग मान लौटाने वाली एक विधेय विधि को इंगित करता है, और<code>!</code>इंगित करता है कि विधि का संभावित रूप से अप्रत्याशित प्रभाव हो सकता है और इसे सावधानी से संभालने की आवश्यकता है।<ref>{{cite web|last=Black|first=David A.|title=Bang methods; or, Danger, Will Rubyist!|date=15 August 2007|url=http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist|archive-url=https://web.archive.org/web/20160522235741/http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist|archive-date=22 May 2016}}</ref>
[[ रूबी प्रोग्रामिंग भाषा ]] में, साधारण चर में सिगिल्स की कमी होती है, लेकिन<code>$</code>[[वैश्विक चर]] के लिए उपसर्ग है,<code>@</code>आवृत्ति चर के लिए उपसर्ग्ड है, और<code>@@</code>[[वर्ग चर]] के लिए उपसर्ग है। रूबी भी अनुमति देता है (सख्ती से पारंपरिक) प्रत्यय सिगिलs:<code>?</code>एक [[बूलियन समारोह]] या एक सत्य मान#कंप्यूटिंग मान लौटाने वाली एक विधेय विधि को इंगित करता है, और<code>!</code>इंगित करता है कि विधि का संभावित रूप से अप्रत्याशित प्रभाव हो सकता है और इसे सावधानी से संभालने की आवश्यकता है।<ref>{{cite web|last=Black|first=David A.|title=Bang methods; or, Danger, Will Rubyist!|date=15 August 2007|url=http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist|archive-url=https://web.archive.org/web/20160522235741/http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist|archive-date=22 May 2016}}</ref>
स्कीम (प्रोग्रामिंग लैंग्वेज) में, प्रथा के अनुसार, प्रक्रियाओं के नाम जो हमेशा एक बूलियन मान लौटाते हैं, आमतौर पर समाप्त होते हैं<code>?</code>. इसी तरह, प्रक्रियाओं के नाम जो पहले आवंटित योजना वस्तुओं (जैसे जोड़े, वैक्टर, या तार) के हिस्सों में मूल्यों को संग्रहित करते हैं, आमतौर पर समाप्त होते हैं<code>!</code>.
स्कीम (प्रोग्रामिंग लैंग्वेज) में, प्रथा के अनुसार, प्रक्रियाओं के नाम जो हमेशा एक बूलियन मान लौटाते हैं, आमतौर पर समाप्त होते हैं<code>?</code>. इसी तरह, प्रक्रियाओं के नाम जो पहले आवंटित योजना वस्तुओं (जैसे जोड़े, वैक्टर, या तार) के हिस्सों में मूल्यों को संग्रहित करते हैं, आमतौर पर समाप्त होते हैं<code>!</code>.


[[मानक एमएल]] उपसर्ग सिगिल का उपयोग करता है<code>'</code>एक चर पर जो एक प्रकार को संदर्भित करता है। यदि सिगिल को दोगुना किया जाता है, तो यह उस प्रकार को संदर्भित करता है जिसके लिए समानता को परिभाषित किया गया है।<code>'</code>वर्ण चर के भीतर या अंत में भी दिखाई दे सकता है, इस स्थिति में इसका कोई विशेष अर्थ नहीं होता है।
[[मानक एमएल]], चर पर उपसर्ग सिगिल<code>'</code>का उपयोग करता है जो एक प्रकार को संदर्भित करता है। यदि सिगिल को दोगुना किया जाता है, तो यह उस प्रकार को संदर्भित करता है जिसके लिए समानता को परिभाषित किया गया है।<code>'</code>वर्ण चर के भीतर या अंत में भी दिखाई दे सकता है, इस स्थिति में इसका कोई विशेष अर्थ नहीं होता है।


[[ कारोबार-एसक्यूएल ]] में,<code>@</code>स्थानीय चर या पैरामीटर नाम से पहले। सिस्टम फ़ंक्शंस (पहले वैश्विक चर के रूप में जाना जाता है) एक द्वारा प्रतिष्ठित हैं<code>@@</code>उपसर्ग। अस्थायी तालिकाओं का दायरा उपसर्ग द्वारा दर्शाया गया है<code>#</code>स्थानीय और निर्दिष्ट करना<code>##</code>वैश्विक नामित।
[[ कारोबार-एसक्यूएल |ट्रांजैक्ट-एस.क्यू.एल]] में,<code>@</code>स्थानीय चर या मापदंड के नाम से पहले होता है। सिस्टम फलन (पहले वैश्विक चर के रूप में जाना जाता है) को<code>@@</code>उपसर्ग द्वारा प्रतिष्ठित किया जाता है। अस्थायी तालिकाओं का दायरा उपसर्ग<code>#</code> द्वारा निर्दिष्ट स्थानीय और <code>##</code> नामित वैश्विक द्वारा निर्दिष्ट किया गया है।


[[Windows PowerShell]] में, जो आंशिक रूप से [[यूनिक्स खोल]] और पर्ल से प्रेरित था, चर नाम किसके द्वारा उपसर्ग किए गए हैं<code>$</code>sigil.
[[Windows PowerShell|विंडोज पॉवरशेल]] में, जो आंशिक रूप से [[यूनिक्स खोल]] और पर्ल से प्रेरित था, चर के नाम <code>$</code>सिगिल द्वारा उपसर्ग किए गए हैं।


[[XSLT]] में, वेरिएबल्स और पैरामीटर्स में एक लीडिंग होता है<code>$</code>उपयोग पर सतर्क, हालांकि जब परिभाषित किया गया हो <code>&lt;xsl:param&gt;</code> या <code>&lt;xsl:variable&gt;</code> साथ<code>name</code>विशेषता, सिगिल शामिल नहीं है। XSLT से संबंधित, [[XQuery]] इसका उपयोग करता है<code>$</code>परिभाषा और उपयोग दोनों में सिगिल फॉर्म।
[[XSLT]] में, चरों और मापदंडों के उपयोग पर एक अग्रणी<code>$</code>होता है, फिर भी<code>&lt;xsl:param&gt;</code> या <code>&lt;xsl:variable&gt;</code> में <code>name</code>के साथ परिभाषित किया जाता है, तो सिगिल सम्मिलित नहीं होता है। XSLT से संबंधित, [[XQuery]] परिभाषा और उपयोग दोनों में<code>$</code>सिगिल प्रकार का उपयोग करता है।


[[माया एंबेडेड भाषा]] में, चर नाम किसके द्वारा उपसर्ग किए जाते हैं<code>$</code>उन्हें कार्यों, आदेशों और अन्य पहचानकर्ताओं से अलग करने के लिए।
[[माया एंबेडेड भाषा|एम.ई.एल]] में, चर के नामों को <code>$</code> द्वारा उपसर्ग किए जाते हैं ताकि उन्हें फलन, आदेशों और अन्य पहचानकर्ताओं से अलग किया जा सके।


== समान घटनाएं ==
== समान घटनाएं ==


=== [[शेल स्क्रिप्टिंग]] चर ===
=== [[शेल स्क्रिप्टिंग|शेल लिपिबद्धन]] चर ===
यूनिक्स शेल स्क्रिप्टिंग और उपयोगिताओं जैसे [[मेकफाइल]]्स में,<code>$</code>एक यूनरी ऑपरेटर है जो एक चर के नाम को उसकी सामग्री में अनुवादित करता है। हालांकि यह एक सिगिल के समान प्रतीत हो सकता है, यह उचित रूप से लेक्सिकल इंडिकेशन के लिए एक [[ एकात्मक ऑपरेशन ]] है, जैसा कि <code>*</code> C (प्रोग्रामिंग लैंग्वेज) में पॉइंटर्स के लिए [[डेरेफरेंस ऑपरेटर]], जैसा कि इस तथ्य से ध्यान देने योग्य है कि एक वैरिएबल को असाइन करते समय डॉलर का चिन्ह छोड़ दिया जाता है।
यूनिक्स शेल लिपिबद्धन और [[मेकफाइल|मेकफ़ाइल]] जैसी उपयोगिताओं में, <code>$</code> एक अंगीय प्रचालक है जो एक चर के नाम को उसकी विषय सूची में अनुवादित करता है। फिर भी यह एक सिगिल के समान प्रतीत हो सकता है, यह उचित रूप से शाब्दिक परोक्षता के लिए एक [[ एकात्मक ऑपरेशन |एकात्मक ऑपरेशन]] है, जैसा कि C (प्रोग्रामिंग लैंग्वेज) में <code>*</code>पॉइंटर्स (संकेत) के लिए [[डेरेफरेंस ऑपरेटर]], जैसा कि इस तथ्य से ध्यान देने योग्य है कि एक चर को आवंटित करते समय "डॉलर" का चिन्ह छोड़ दिया जाता है।


=== [[पहचानकर्ता]] सम्मेलन ===
=== [[पहचानकर्ता]] सम्मेलन ===
फोरट्रान भाषा सुविधाओं में, सिगिल का उपयोग नहीं किया जाता है, लेकिन अक्षर I, J, K, L, M और N से शुरू होने वाले सभी चर डिफ़ॉल्ट रूप से पूर्णांक होते हैं। फोरट्रान प्रलेखन इसे अंतर्निहित टाइपिंग के रूप में संदर्भित करता है। किसी भी चर को किसी भी प्रकार से घोषित करने की अनुमति देने के लिए स्पष्ट टाइपिंग भी उपलब्ध है।
फोरट्रान भाषा सुविधाओं में, सिगिल का उपयोग नहीं किया जाता है, लेकिन अक्षर I, J, K, L, M और N से प्रारंभ होने वाले सभी चर न्यूनता रूप से पूर्णांक होते हैं। फोरट्रान प्रलेखन इसे "अंतर्निहित प्ररूपण" के रूप में संदर्भित करता है। किसी भी चर को किसी भी प्रकार से घोषित करने की अनुमति देने के लिए स्पष्ट प्ररूपण भी उपलब्ध है।


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


=== स्ट्रैपिंग ===
=== स्ट्रैपिंग ===
{{main|Stropping (syntax)}}
वास्तव में स्ट्रॉपिंग (वाक्यविन्यास) का एक रूप, माइक्रोसॉफ्ट के .NET [[सामान्य भाषा अवसंरचना]] (CLI) में कई भाषाओं के उपयोग के लिए एक अलग भाषा में चर का उपयोग करने के तरीके की आवश्यकता होती है जो कॉलिंग भाषा में खोजशब्द हो सकते हैं। यह कभी-कभी उपसर्गों द्वारा किया जाता है। सी # में, किसी भी चर के नाम को <code>@</code> के साथ उपसर्ग किया जा सकता है। यह मुख्य रूप से चर नामों के उपयोग की अनुमति देने के लिए उपयोग किया जाता है जो अन्यथा खोजशब्दों के साथ संघर्ष करेंगे।<ref>{{cite web |url=http://msdn.microsoft.com/en-us/library/x53a06bb.aspx
वास्तव में स्ट्रॉपिंग (वाक्यविन्यास) का एक रूप, माइक्रोसॉफ्ट के .NET Framework|.NET [[सामान्य भाषा अवसंरचना]] (CLI) में कई भाषाओं के उपयोग के लिए एक अलग भाषा में वेरिएबल्स का उपयोग करने के तरीके की आवश्यकता होती है जो कॉलिंग भाषा में कीवर्ड हो सकते हैं। यह कभी-कभी उपसर्गों द्वारा किया जाता है। सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी # में, किसी भी चर के नाम के साथ उपसर्ग किया जा सकता है<code>@</code>. यह मुख्य रूप से चर नामों के उपयोग की अनुमति देने के लिए उपयोग किया जाता है जो अन्यथा खोजशब्दों के साथ संघर्ष करेंगे।<ref>{{cite web |url=http://msdn.microsoft.com/en-us/library/x53a06bb.aspx
|work=MSDN |title=सी # कीवर्ड|access-date=2011-03-23 }}</ref> इसे VB.Net में वर्ग कोष्ठकों में नाम संलग्न करके प्राप्त किया जाता है, जैसा <code>[end]</code> में है .<ref>{{cite web
|work=MSDN |title=सी # कीवर्ड|access-date=2011-03-23 }}</ref> इसे VB.Net में वर्ग कोष्ठकों में नाम संलग्न करके प्राप्त किया जाता है, जैसा कि में है <code>[end]</code>.<ref>{{cite web
|url=http://msdn.microsoft.com/en-us/library/362314fe.aspx
|url=http://msdn.microsoft.com/en-us/library/362314fe.aspx
|work=MSDN |title=स्ट्रिंग (सी # संदर्भ)|access-date=2011-03-23 }}</ref>
|work=MSDN |title=स्ट्रिंग (सी # संदर्भ)|access-date=2011-03-23 }}</ref>
<code>@</code>प्रीफ़िक्स को स्ट्रिंग लिटरल पर भी लागू किया जा सकता है; नीचे #शाब्दिक प्रत्यय देखें।
=== हंगेरियन नोटेशन ===
सिगिल्स से संबंधित हंगेरियन नोटेशन है, वेरिएबल्स के लिए एक नामकरण सम्मेलन (प्रोग्रामिंग) जो वेरिएबल नाम के लिए कुछ अल्फ़ाबेटिक उपसर्गों को जोड़कर वेरिएबल प्रकार निर्दिष्ट करता है। सिगिल के विपरीत, हालांकि, [[हंगेरियन संकेतन]] संकलक को कोई जानकारी नहीं देता है; जैसे, स्पष्ट प्रकार को चर के लिए अनावश्यक रूप से निर्दिष्ट किया जाना चाहिए (जब तक कि प्रकार के अनुमान वाली भाषा का उपयोग न किया जाए)। जैसा कि अधिकांश मानक संकलक उपसर्गों के उपयोग को लागू नहीं करते हैं, यह चूक की अनुमति देता है और आकस्मिक गलत उपयोग के कारण कोड को भ्रम की स्थिति भी बनाता है।<ref name="Linux kernel coding style">[https://slurm.schedmd.com/coding_style.pdf Linux kernel coding style], by Linus Torvalds</ref>


<code>@</code>उपसर्ग को स्ट्रिंग लिटरल पर भी लागू किया जा सकता है; नीचे शाब्दिक प्रत्यय देखें।


=== हंगेरियन संकेतन ===
सिगिल्स से संबंधित हंगेरियन संकेतन है, चर के लिए एक नामकरण सम्मेलन (प्रोग्रामिंग) जो चर के नाम के लिए कुछ अल्फ़ाबेटिक उपसर्गों को जोड़कर चर प्रकार निर्दिष्ट करता है। सिगिल के विपरीत, फिर भी, [[हंगेरियन संकेतन]] संकलक को कोई जानकारी नहीं देता है; जैसे, स्पष्ट प्रकार को चर के लिए अनावश्यक रूप से निर्दिष्ट किया जाना चाहिए (जब तक कि प्रकार के अनुमान वाली भाषा का उपयोग न किया जाए)। जैसा कि अधिकांश मानक संकलक उपसर्गों के उपयोग को लागू नहीं करते हैं, यह चूक की अनुमति देता है और आकस्मिक गलत उपयोग के कारण कोड को भ्रम की स्थिति भी बनाता है।<ref name="Linux kernel coding style">[https://slurm.schedmd.com/coding_style.pdf Linux kernel coding style], by Linus Torvalds</ref>
=== शाब्दिक प्रत्यय ===
=== शाब्दिक प्रत्यय ===
जबकि सिगिल नाम (पहचानकर्ता) पर लागू होते हैं, समान उपसर्ग और प्रत्यय को [[शाब्दिक (कंप्यूटर प्रोग्रामिंग)]] पर लागू किया जा सकता है, विशेष रूप से [[पूर्णांक शाब्दिक]] और स्ट्रिंग शाब्दिक, यह निर्दिष्ट करते हुए कि शाब्दिक का मूल्यांकन कैसे किया जाना चाहिए, या यह किस प्रकार का डेटा है। उदाहरण के लिए, <code>0x10ULL</code> C++ में एक अहस्ताक्षरित लंबे लंबे पूर्णांक के रूप में मान 16 का मूल्यांकन करता है: the <code>0x</code> उपसर्ग हेक्साडेसिमल को इंगित करता है, जबकि प्रत्यय <code>ULL</code> अहस्ताक्षरित लंबा लंबा इंगित करता है। इसी तरह, उपसर्गों का उपयोग अक्सर कच्चे स्ट्रिंग को इंगित करने के लिए किया जाता है, जैसे <code>r"C:\Windows"</code> पायथन में, जो मान के साथ स्ट्रिंग का प्रतिनिधित्व करता है <code>C:\Windows</code>; बची हुई स्ट्रिंग के रूप में इसे इस रूप में लिखा जाएगा <code>"C:\\Windows"</code>.
जबकि सिगिल नाम (पहचानकर्ता) पर लागू होते हैं, समान उपसर्ग और प्रत्यय को [[शाब्दिक (कंप्यूटर प्रोग्रामिंग)]] पर लागू किया जा सकता है, विशेष रूप से [[पूर्णांक शाब्दिक]] और स्ट्रिंग शाब्दिक, यह निर्दिष्ट करते हुए कि शाब्दिक का मूल्यांकन कैसे किया जाना चाहिए, या यह किस प्रकार का डेटा है। उदाहरण के लिए, <code>0x10ULL</code> C++ में एक "अहस्ताक्षरित लंबे लंबे पूर्णांक" के रूप में मान 16 का मूल्यांकन करता है: <code>0x</code> उपसर्ग हेक्साडेसिमल को इंगित करता है, जबकि प्रत्यय <code>ULL</code> "अहस्ताक्षरित लंबा लंबा" इंगित करता है। इसी तरह, उपसर्गों का उपयोग अक्सर अप्रशिक्षत स्ट्रिंग को इंगित करने के लिए किया जाता है, जैसे पायथन में <code>r"C:\Windows",</code> जो मान <code>C:\Windows</code> के साथ स्ट्रिंग का प्रतिनिधित्व करता है; बची हुई स्ट्रिंग के रूप में इसे <code>"C:\\Windows"</code> इस रूप में लिखा जाएगा।


चूंकि यह एक पहचानकर्ता (नाम) के वाक्य-विन्यास या शब्दार्थ के बजाय शाब्दिक के शब्दार्थ (मान) को प्रभावित करता है, यह न तो स्ट्रॉपिंग (पहचानकर्ता सिंटैक्स) है और न ही एक सिगिल (पहचानकर्ता शब्दार्थ), लेकिन यह वाक्य-रचना के समान है।
चूंकि यह एक पहचानकर्ता (नाम) के वाक्य-विन्यास या शब्दार्थ के बजाय शाब्दिक के शब्दार्थ (मान) को प्रभावित करता है, यह न तो स्ट्रॉपिंग (पहचानकर्ता रचनाक्रम) है और न ही सिगिल (पहचानकर्ता शब्दार्थ), लेकिन यह वाक्य-रचना के समान है।


=== [[जावा एनोटेशन]] ===
=== [[जावा एनोटेशन|जावा एसंकेतन]] ===
जावा एनोटेशन जैसे @Override और @Deprecated की तुलना करें।
जावा एसंकेतन (टिप्पणी) जैसे @Override और @Deprecated की तुलना करें।


=== भ्रम ===
=== भ्रम ===
कुछ मामलों में अलग-अलग उद्देश्यों के लिए समान सिंटैक्स का उपयोग किया जा सकता है, जो भ्रम पैदा कर सकता है। उदाहरण के लिए, C Sharp (प्रोग्रामिंग लैंग्वेज)|C# में,<code>@</code>उपसर्ग का उपयोग या तो स्ट्रॉपिंग के लिए किया जा सकता है (आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने की अनुमति देने के लिए), या एक शाब्दिक के लिए एक उपसर्ग के रूप में (एक कच्चे स्ट्रिंग को इंगित करने के लिए); इस मामले में न तो उपयोग एक सतर्क है, क्योंकि यह पहचानकर्ताओं के वाक्य-विन्यास या अक्षर के शब्दार्थ को प्रभावित करता है, पहचानकर्ताओं के शब्दार्थ को नहीं।
कुछ स्थितियों में अलग-अलग उद्देश्यों के लिए समान रचनाक्रम का उपयोग किया जा सकता है, जो भ्रम पैदा कर सकता है। उदाहरण के लिए, C# (प्रोग्रामिंग लैंग्वेज) में,<code>@</code>उपसर्ग का उपयोग या तो स्ट्रॉपिंग के लिए किया जा सकता है (आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने की अनुमति देने के लिए), या एक शाब्दिक के लिए एक उपसर्ग के रूप में (अप्रशिक्षत स्ट्रिंग को इंगित करने के लिए); इस स्थिति में न तो उपयोग एक सिगिल है, क्योंकि यह पहचानकर्ताओं के वाक्य-विन्यास या अक्षर के शब्दार्थ को प्रभावित करता है, पहचानकर्ताओं के शब्दार्थ को नहीं।


== यह भी देखें ==
== यह भी देखें ==
* सीमांकक
* सीमांकक
* [[सोर्स कोड]]
* [[सोर्स कोड]]
* शाब्दिक विश्लेषण # टोकन
* टोकन (प्रतिक)


==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}


{{DEFAULTSORT:Sigil (Computer Programming)}}[[Category: सोर्स कोड]] [[Category: चर (कंप्यूटर विज्ञान)]] [[Category: नामकरण की परंपरा]]
{{DEFAULTSORT:Sigil (Computer Programming)}}
 
 


[[Category: Machine Translated Page]]
[[Category:All articles with unsourced statements|Sigil (Computer Programming)]]
[[Category:Created On 15/05/2023]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Sigil (Computer Programming)]]
[[Category:Articles with unsourced statements from April 2018|Sigil (Computer Programming)]]
[[Category:Created On 15/05/2023|Sigil (Computer Programming)]]
[[Category:Lua-based templates|Sigil (Computer Programming)]]
[[Category:Machine Translated Page|Sigil (Computer Programming)]]
[[Category:Pages with script errors|Sigil (Computer Programming)]]
[[Category:Templates Vigyan Ready|Sigil (Computer Programming)]]
[[Category:Templates that add a tracking category|Sigil (Computer Programming)]]
[[Category:Templates that generate short descriptions|Sigil (Computer Programming)]]
[[Category:Templates using TemplateData|Sigil (Computer Programming)]]
[[Category:चर (कंप्यूटर विज्ञान)|Sigil (Computer Programming)]]
[[Category:नामकरण की परंपरा|Sigil (Computer Programming)]]
[[Category:सोर्स कोड|Sigil (Computer Programming)]]

Latest revision as of 16:43, 8 June 2023

कंप्यूटर प्रोग्रामिंग में, सिगिल (/ˈsɪəl/) एक चर (प्रोग्रामिंग) नाम से जुड़ा एक प्रतीक है, जो चर के डेटा प्रकार या कार्यक्षेत्र (प्रोग्रामिंग) को दर्शाता है, आमतौर पर एक उपसर्ग, जैसा कि $foo, जहां $ सिगिल है।

सिगिल, लैटिन शब्द सिगिलम से, जिसका अर्थ "एक छोटा सा चिह्न" है, मतलब संकेत या छवि जिसमें कथित रूप से जादुई शक्ति हो।[1] सिगिल का उपयोग अलग-अलग गुणों या व्यवहार वाले नामस्थानों को अलग और सीमांकित करने के लिए किया जा सकता है।

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

बेसिक प्रोग्रामिंग भाषा द्वारा सिगिल्स के उपयोग को लोकप्रिय बनाया गया था। बेसिक में सिगिल का सबसे प्रसिद्ध उदाहरण डॉलर चिह्न ($) है जो सभी स्ट्रिंग (कंप्यूटर विज्ञान) के नाम से जुड़ा हुआ है। परिणाम स्वरूप, अमेरिका के बाहर के प्रोग्रामर $ को "डॉलर" के बजाय "स्ट्रिंग" के रूप में उच्चारित करते हैं। कई बेसिक उपभाषाएं पूर्णांक और फ़्लोटिंग-पॉइंट संख्याओं और उनकी सटीकता, और कभी-कभी अन्य प्रकारों को भी निरूपित करने के लिए अन्य सिगिल्स (जैसे%) का उपयोग करती हैं।

लैरी वॉल ने अपनी पर्ल प्रोग्रामिंग भाषा के लिए शेल लिपिबद्धन के सिगिल्स के उपयोग को अपनाया।[citation needed] पर्ल में, सिगिल सूक्ष्मकणी डेटा प्रकार जैसे स्ट्रिंग और पूर्णांक निर्दिष्ट नहीं करते हैं, लेकिन अदिश (कम्प्यूटिंग) की अधिक सामान्य श्रेणियां (उपसर्ग $का उपयोग करके), सरणियाँ (@का उपयोग करके), हैश तालिका (% का उपयोग करके), और उपनेमिका (& का उपयोग कर)। राकू (प्रोग्रामिंग भाषा)[2] चर के क्षेत्र को इंगित करने के लिए सेकेंडरी सिगिल्स, या टवीगिल्स का भी उपयोग करता है। राकू में ट्विगिल्स के प्रमुख उदाहरणों में ^ सम्मिलित हैं, स्व-घोषित औपचारिक मापदंडों (प्लेसहोल्डर चर) के साथ प्रयोग किया जाता है, और., ऑब्जेक्ट विशेषता सहायक (यानी, इंस्टेंस चर) के साथ प्रयोग किया जाता है।

कुछ भाषाओं में सिगिल का उपयोग

CLIPS में, अदिश चरों के आगे a के साथ ?सिगिल लगा होता है, जबकि बहुशाखी (उदाहरण के लिए, 1-स्तरीय सूची) चरों के साथ $? (प्रीफ़िक्स्ड) लगा होता हैं।

कॉमन लिस्प में, विशेष चर (गतिशील दायरे के साथ) आमतौर पर * घिरे होते हैं जिसे "इयरमफ कन्वेंशन" कहा जाता है। जबकि यह केवल परिपाटी है, और इसे लागू नहीं किया जाता है, भाषा स्वयं अभ्यास को अपनाती है (उदाहरण के लिए, *मानक-आउटपुट*)। इसी तरह, कुछ प्रोग्रामर स्थिरांक को + घेरते हैं।

CycL में, चर के साथ ?सिगिल के साथ प्रीफ़िक्स्ड (उपसर्ग) होते हैं।[3] इसी तरह, स्थिर नामों के साथ #$ (उच्चारण हैश-डॉलर) प्रीफ़िक्स्ड किया जाता है [4]

अमृत ​​​​(प्रोग्रामिंग भाषा) में, सिगिल ~प्रतीक के माध्यम से प्रदान किए जाते हैं, इसके बाद सिगिल के प्रकार को दर्शाने के लिए अक्षर और फिर सीमांकक होते हैं। उदाहरण के लिए, ~r(foo) "foo" की नियमित अभिव्यक्ति है। अन्य सिगिल में स्ट्रिंग्स के लिए ~s और तिथियों के लिए ~D सम्मिलित हैं। प्रोग्रामर अपना स्वयं का सिगिल भी बना सकते हैं।[5]

गूढ़ प्रोग्रामिंग भाषा INTERCAL में, चर 16-बिट पूर्णांक पहचानकर्ता हैं जो किसी के साथ उपसर्ग करते हैं 16-बिट मानों के लिए .(स्पॉट कहा जाता है), 32-बिट मानों के लिए :(जिसे "ट्वोस्पॉट" कहा जाता है), ,("पूंछ") 16-बिट मानों की सरणियों के लिए और 32-बिट मानों की सरणियों के लिए ;("हाइब्रिड") के साथ प्रीफ़िक्स्ड (उपसर्ग) करते हैं।[6] बाद में सीएलसी-इंटरकल ने चर के लिए@ ("व्हर्लपूल") जोड़ा जिसमें कोई मूल्य नहीं हो सकता है (कक्षाओं के लिए प्रयुक्त) और_ संशोधित संकलक को संग्रहीत करने के लिए उपयोग किया जाता है।[7]

MAPPER (उर्फ BIS) में, नामित चर "<" के साथ उपसर्ग किया जाता है और ">" के साथ प्रत्यय लगाया जाता है क्योंकि स्ट्रिंग्स या वर्ण मानों को उद्धरण चिहन की आवश्यकता नहीं होती है।

MIRC स्क्रिप्ट में, पहचानकर्ताओं के पास $सिगिल होता है, जबकि सभी a चरों में a%उपसर्ग (स्थानीय या वैश्विक चर या डेटा प्रकार की परवाह किए बिना) होता है। बाइनरी चरों को & द्वारा उपसर्ग किया जाता है।

MUMPS (प्रोग्रामिंग लैंग्वेज) प्रोग्रामिंग लैंग्वेज में,$आंतरिक फ़ंक्शन नाम और विशेष चर नाम (निष्पादन स्थिति तक पहुँचने के लिए अंतर्निहित चर) से पहले।$Zगैर-मानक आंतरिक फ़ंक्शन नामों से पहले।$$बाहरी फ़ंक्शन नामों से पहले। रूटीन (प्रक्रियाओं, सबरूटीन्स, फलन के लिए प्रयुक्त) और वैश्विक चर (डेटाबेस स्टोरेज) एक कैरेट (^) द्वारा उपसर्ग्ड हैं। अंतिम वैश्विक चर सबट्री को अप्रत्यक्ष रूप से एक कैरेट और अंतिम सबस्क्रिप्ट द्वारा संदर्भित किया जा सकता है; इसे नग्न संदर्भ कहा जाता है। सिस्टम-वाइड रूटीन और वैश्विक चर (कुछ साझा डेटाबेस में संग्रहीत) ^% के साथ उपसर्ग हैं; इन्हें प्रतिशत रूटीन और प्रतिशत ग्लोबल्स कहा जाता है।

उद्देश्य सी में, स्ट्रिंग लिटरल से पहले@वस्तु प्रकार के उदाहरण हैं NSString या, बजना v3.1 / LLVM v4.0 के बाद से, NSNumber, NSArray या NSDictionary. उपसर्ग @ खोजशब्दों पर भी प्रयोग किया जाता है interface, implementation, और end वर्ग परिभाषाओं की संरचना को व्यक्त करने के लिए। वर्ग घोषणाओं और परिभाषाओं के भीतर भी, का एक उपसर्ग - उपसर्ग के दौरान सदस्य विधियों और चर को इंगित करने के लिए प्रयोग किया जाता है + वर्ग तत्वों को इंगित करता है।

PHP भाषा में, जो काफी हद तक पर्ल से प्रेरित थी,$किसी भी चर (प्रोग्रामिंग) नाम से पहले। इसके द्वारा उपसर्ग नहीं किए जाने वाले नामों को स्थिर (कंप्यूटर विज्ञान), फ़ंक्शन (कंप्यूटर विज्ञान) या वर्ग (कंप्यूटर प्रोग्रामिंग) नाम (या इंटरफ़ेस या विशेषता नाम, जो समान नामस्थान को कक्षाओं के रूप में साझा करते हैं) माना जाता है।

पायलट उपयोग करता है$बफ़र्स के लिए (स्ट्रिंग चर),#पूर्णांक चर के लिए, और*प्रोग्राम लेबल के लिए।

पायथन (प्रोग्रामिंग लैंग्वेज) का उपयोग करता है@पायथन रचनाक्रम और शब्दार्थ # डेकोरेटर्स के अनुप्रयोग के लिए उपसर्ग, जिसे पाई रचनाक्रम कहा जाता है[8] और ए__उपसर्ग, जिसे डंडर कहा जाता है, नाम के लिए मैंगलिंग#पायथन| निजी गुण।

रूबी प्रोग्रामिंग भाषा में, साधारण चर में सिगिल्स की कमी होती है, लेकिन$वैश्विक चर के लिए उपसर्ग है,@आवृत्ति चर के लिए उपसर्ग्ड है, और@@वर्ग चर के लिए उपसर्ग है। रूबी भी अनुमति देता है (सख्ती से पारंपरिक) प्रत्यय सिगिलs:?एक बूलियन समारोह या एक सत्य मान#कंप्यूटिंग मान लौटाने वाली एक विधेय विधि को इंगित करता है, और!इंगित करता है कि विधि का संभावित रूप से अप्रत्याशित प्रभाव हो सकता है और इसे सावधानी से संभालने की आवश्यकता है।[9] स्कीम (प्रोग्रामिंग लैंग्वेज) में, प्रथा के अनुसार, प्रक्रियाओं के नाम जो हमेशा एक बूलियन मान लौटाते हैं, आमतौर पर समाप्त होते हैं?. इसी तरह, प्रक्रियाओं के नाम जो पहले आवंटित योजना वस्तुओं (जैसे जोड़े, वैक्टर, या तार) के हिस्सों में मूल्यों को संग्रहित करते हैं, आमतौर पर समाप्त होते हैं!.

मानक एमएल, चर पर उपसर्ग सिगिल'का उपयोग करता है जो एक प्रकार को संदर्भित करता है। यदि सिगिल को दोगुना किया जाता है, तो यह उस प्रकार को संदर्भित करता है जिसके लिए समानता को परिभाषित किया गया है।'वर्ण चर के भीतर या अंत में भी दिखाई दे सकता है, इस स्थिति में इसका कोई विशेष अर्थ नहीं होता है।

ट्रांजैक्ट-एस.क्यू.एल में,@स्थानीय चर या मापदंड के नाम से पहले होता है। सिस्टम फलन (पहले वैश्विक चर के रूप में जाना जाता है) को@@उपसर्ग द्वारा प्रतिष्ठित किया जाता है। अस्थायी तालिकाओं का दायरा उपसर्ग# द्वारा निर्दिष्ट स्थानीय और ## नामित वैश्विक द्वारा निर्दिष्ट किया गया है।

विंडोज पॉवरशेल में, जो आंशिक रूप से यूनिक्स खोल और पर्ल से प्रेरित था, चर के नाम $सिगिल द्वारा उपसर्ग किए गए हैं।

XSLT में, चरों और मापदंडों के उपयोग पर एक अग्रणी$होता है, फिर भी<xsl:param> या <xsl:variable> में nameके साथ परिभाषित किया जाता है, तो सिगिल सम्मिलित नहीं होता है। XSLT से संबंधित, XQuery परिभाषा और उपयोग दोनों में$सिगिल प्रकार का उपयोग करता है।

एम.ई.एल में, चर के नामों को $ द्वारा उपसर्ग किए जाते हैं ताकि उन्हें फलन, आदेशों और अन्य पहचानकर्ताओं से अलग किया जा सके।

समान घटनाएं

शेल लिपिबद्धन चर

यूनिक्स शेल लिपिबद्धन और मेकफ़ाइल जैसी उपयोगिताओं में, $ एक अंगीय प्रचालक है जो एक चर के नाम को उसकी विषय सूची में अनुवादित करता है। फिर भी यह एक सिगिल के समान प्रतीत हो सकता है, यह उचित रूप से शाब्दिक परोक्षता के लिए एक एकात्मक ऑपरेशन है, जैसा कि C (प्रोग्रामिंग लैंग्वेज) में *पॉइंटर्स (संकेत) के लिए डेरेफरेंस ऑपरेटर, जैसा कि इस तथ्य से ध्यान देने योग्य है कि एक चर को आवंटित करते समय "डॉलर" का चिन्ह छोड़ दिया जाता है।

पहचानकर्ता सम्मेलन

फोरट्रान भाषा सुविधाओं में, सिगिल का उपयोग नहीं किया जाता है, लेकिन अक्षर I, J, K, L, M और N से प्रारंभ होने वाले सभी चर न्यूनता रूप से पूर्णांक होते हैं। फोरट्रान प्रलेखन इसे "अंतर्निहित प्ररूपण" के रूप में संदर्भित करता है। किसी भी चर को किसी भी प्रकार से घोषित करने की अनुमति देने के लिए स्पष्ट प्ररूपण भी उपलब्ध है।

प्रोलॉग, हास्केल (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा) औरजाओ (प्रोग्रामिंग भाषा) सहित विभिन्न प्रोग्रामिंग भाषाएं, बड़े अक्षर से प्रारंभ होने वाले पहचानकर्ताओं को एक छोटे अक्षर से प्रारंभ होने वाले पहचानकर्ताओं से अलग मानती हैं, जो कि सिगिल के उपयोग से संबंधित अभ्यास है।

स्ट्रैपिंग

वास्तव में स्ट्रॉपिंग (वाक्यविन्यास) का एक रूप, माइक्रोसॉफ्ट के .NET सामान्य भाषा अवसंरचना (CLI) में कई भाषाओं के उपयोग के लिए एक अलग भाषा में चर का उपयोग करने के तरीके की आवश्यकता होती है जो कॉलिंग भाषा में खोजशब्द हो सकते हैं। यह कभी-कभी उपसर्गों द्वारा किया जाता है। सी # में, किसी भी चर के नाम को @ के साथ उपसर्ग किया जा सकता है। यह मुख्य रूप से चर नामों के उपयोग की अनुमति देने के लिए उपयोग किया जाता है जो अन्यथा खोजशब्दों के साथ संघर्ष करेंगे।[10] इसे VB.Net में वर्ग कोष्ठकों में नाम संलग्न करके प्राप्त किया जाता है, जैसा [end] में है .[11]

@उपसर्ग को स्ट्रिंग लिटरल पर भी लागू किया जा सकता है; नीचे शाब्दिक प्रत्यय देखें।

हंगेरियन संकेतन

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

शाब्दिक प्रत्यय

जबकि सिगिल नाम (पहचानकर्ता) पर लागू होते हैं, समान उपसर्ग और प्रत्यय को शाब्दिक (कंप्यूटर प्रोग्रामिंग) पर लागू किया जा सकता है, विशेष रूप से पूर्णांक शाब्दिक और स्ट्रिंग शाब्दिक, यह निर्दिष्ट करते हुए कि शाब्दिक का मूल्यांकन कैसे किया जाना चाहिए, या यह किस प्रकार का डेटा है। उदाहरण के लिए, 0x10ULL C++ में एक "अहस्ताक्षरित लंबे लंबे पूर्णांक" के रूप में मान 16 का मूल्यांकन करता है: 0x उपसर्ग हेक्साडेसिमल को इंगित करता है, जबकि प्रत्यय ULL "अहस्ताक्षरित लंबा लंबा" इंगित करता है। इसी तरह, उपसर्गों का उपयोग अक्सर अप्रशिक्षत स्ट्रिंग को इंगित करने के लिए किया जाता है, जैसे पायथन में r"C:\Windows", जो मान C:\Windows के साथ स्ट्रिंग का प्रतिनिधित्व करता है; बची हुई स्ट्रिंग के रूप में इसे "C:\\Windows" इस रूप में लिखा जाएगा।

चूंकि यह एक पहचानकर्ता (नाम) के वाक्य-विन्यास या शब्दार्थ के बजाय शाब्दिक के शब्दार्थ (मान) को प्रभावित करता है, यह न तो स्ट्रॉपिंग (पहचानकर्ता रचनाक्रम) है और न ही सिगिल (पहचानकर्ता शब्दार्थ), लेकिन यह वाक्य-रचना के समान है।

जावा एसंकेतन

जावा एसंकेतन (टिप्पणी) जैसे @Override और @Deprecated की तुलना करें।

भ्रम

कुछ स्थितियों में अलग-अलग उद्देश्यों के लिए समान रचनाक्रम का उपयोग किया जा सकता है, जो भ्रम पैदा कर सकता है। उदाहरण के लिए, C# (प्रोग्रामिंग लैंग्वेज) में,@उपसर्ग का उपयोग या तो स्ट्रॉपिंग के लिए किया जा सकता है (आरक्षित शब्दों को पहचानकर्ता के रूप में उपयोग करने की अनुमति देने के लिए), या एक शाब्दिक के लिए एक उपसर्ग के रूप में (अप्रशिक्षत स्ट्रिंग को इंगित करने के लिए); इस स्थिति में न तो उपयोग एक सिगिल है, क्योंकि यह पहचानकर्ताओं के वाक्य-विन्यास या अक्षर के शब्दार्थ को प्रभावित करता है, पहचानकर्ताओं के शब्दार्थ को नहीं।

यह भी देखें

संदर्भ

  1. "सिगिल की परिभाषा". Collins English Dictionary. Retrieved 22 May 2012.
  2. "Perl 6 variables:Twigils", Perl 6 Documentation.
  3. "Variables – Cycorp". www.Cyc.com. Retrieved 31 December 2017.
  4. "Constants – Cycorp". www.Cyc.com. Retrieved 31 December 2017.
  5. "Getting Started: Sigils". Elixir. Retrieved 18 January 2022.
  6. "C-INTERCAL 0.29 Revamped Instruction Manual". catb.org. Retrieved 2022-06-30.
  7. "सीएलसी-आंतरिक संदर्भ". oshaboy.github.io. Retrieved 2022-06-30.
  8. "PEP 318 -- Decorators for Functions and Methods".
  9. Black, David A. (15 August 2007). "Bang methods; or, Danger, Will Rubyist!". Archived from the original on 22 May 2016.
  10. "सी # कीवर्ड". MSDN. Retrieved 2011-03-23.
  11. "स्ट्रिंग (सी # संदर्भ)". MSDN. Retrieved 2011-03-23.
  12. Linux kernel coding style, by Linus Torvalds