": =" क्या करता है?


111

मैंने :=कई कोड नमूनों का उपयोग किया है, लेकिन कभी भी साथ नहीं दिया। इसके उचित नाम को जाने बिना इसके उपयोग को Google के लिए संभव नहीं है।

यह क्या करता है?


11
किस भाषा में?
बीटा

4
:=जब आप किसी चीज को परिभाषित करते हैं, तो उसे सामान्य चर परिवर्तनों से अलग करने के लिए आप सामान्य रूप से उपयोग करते हैं .. हम किस प्रोग्रामिंग भाषा के बारे में बात कर रहे हैं?
svens

3
PL / SQL यह असाइनमेंट के लिए है। लेकिन एक अलग भाषा को देखते हुए, यह जवाब सही नहीं है कि यह सही नहीं है - इसलिए कौन सी भाषाओं में उदाहरण था?
एंड्रयू

12
कुछ इस तरह से गूगल करने के लिए, इसे वर्तनी दें और इसे उद्धरणों में संलग्न करें, जैसे: "कोलन
समतुल्य

3
मुझे लगता है कि पास्कल को यह ऑपरेटर मिल गया है!

जवाबों:


104

http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming

कंप्यूटर प्रोग्रामिंग भाषाओं में, बराबरी का चिन्ह आम तौर पर मूल्यों की समानता का परीक्षण करने के लिए या तो एक बूलियन ऑपरेटर को दर्शाता है (जैसे पास्कल या एफिल में), जो कि गणित में प्रतीक के उपयोग के अनुरूप है, या एक असाइनमेंट ऑपरेटर (जैसे सी जैसी भाषाओं में) )। पूर्व पसंद करने वाली भाषाएँ अक्सर अपने असाइनमेंट ऑपरेटर को निरूपित करने के लिए एक कोलोन-बराबर (: =) या often का उपयोग करती हैं। बाद की पसंद बनाने वाली भाषाएँ अक्सर अपने बूलियन इक्विटी ऑपरेटर को निरूपित करने के लिए एक डबल बराबर चिन्ह (==) का उपयोग करती हैं।

नोट: मैंने इसे खोज कर पायाcolon equals operator


58
विडंबना यह है कि यह उत्तर खोजते समय अब ​​विकिपीडिया से ऊपर है colon equals operator
रात्रिशोक ४५४

6
यदि हम टाइप करते रहते हैं colon equals operator, तो हम Google के एसईओ पर जादू करते हैं ताकि यह शीर्ष परिणाम बना सके
ATLUS

47

यह पास्कल में असाइनमेंट ऑपरेटर है और अक्सर प्रूफ और छद्म कोड में उपयोग किया जाता है। यह =सी-बोली भाषाओं की तरह ही है।

ऐतिहासिक रूप से, कंप्यूटर विज्ञान के पेपर का उपयोग =समानता की तुलना और असाइनमेंट के लिए किया जाता है। पास्कल :=कठिन-से-बाएं तीर के लिए खड़े होते थे। सी एक अलग दिशा में चला गया और इसके बजाय =और ==ऑपरेटरों पर फैसला किया ।


25

वैधानिक रूप से टाइप की गई भाषा में गो := एक चरण में इनिशियलाइज़ेशन और असाइनमेंट है। यह संकलित भाषा में चर की व्याख्या-जैसी रचना के लिए अनुमति देने के लिए किया जाता है।

// Creates and assigns
answer := 42

// Creates and assigns
var answer = 42

5

कुछ भाषा :=असाइनमेंट ऑपरेटर के रूप में कार्य करती है।


@Pacerier इस पोस्ट को देखें stackoverflow.com/questions/7462322/… क्यों आपके प्रश्न का उत्तर "हाँ" और "नहीं" दोनों हो सकता है।
टाइगॉल्डबाइट्स

@TigOldBitties, Erwin से अच्छा गुच्चा वहाँ नीचे।
पचेरियर

4

प्रोग्रामिंग भाषाओं की दुनिया के बाहर से एक और व्याख्या वोल्फ्राम मैथवर्ल्ड , एट अल से आती है :

यदि A और B परिभाषा के बराबर हैं (जैसे, A को B के रूप में परिभाषित किया गया है), तो यह प्रतीकात्मक रूप से A = B, A: = B, या कभी-कभी A≜B के रूप में लिखा जाता है।

http://mathworld.wolfram.com/Defined.html

/math/182101/appapp-notation-equiv-versus


0

असाइनमेंट ऑपरेटर के लिए यह पुराना (पास्कल) सिंटैक्स है। यह इस तरह इस्तेमाल किया जाएगा:

a := 45;

यह अन्य भाषाओं में भी हो सकता है, शायद एक समान उपयोग में।


0

बहुत सी सीएस पुस्तकों में, इसका उपयोग असाइनमेंट ऑपरेटर के रूप में किया जाता है, समानता ऑपरेटर से अंतर करने के लिए =। उच्च स्तरीय भाषाओं में, हालांकि, असाइनमेंट है =और समानता है ==


0

यह कम-से-कम प्रतीक का उपयोग किए बिना एक तीर की तरह है <= इसलिए जैसे हर कोई पहले से ही "असाइनमेंट" ऑपरेटर कहता है। समतुल्यता के तार्किक संचालक के विपरीत जहाँ स्पष्ट किया जा रहा है, वहाँ लाना।

गणित में यह बराबरी की तरह है लेकिन A: = B का अर्थ है A को B के रूप में परिभाषित किया गया है, ट्रिपल बार बराबरी का उपयोग यह कहने के लिए किया जा सकता है कि यह परिभाषा के समान और बराबर है लेकिन हमेशा एक ही चीज नहीं।

वैसे भी मैं इन अन्य संदर्भों की ओर इशारा करता हूं जो संभवतः उन लोगों के दिमाग में थे जिन्होंने इसका आविष्कार किया था, लेकिन यह वास्तव में बस समतल है और कम है कि बराबर लिया गया था (या संभवतः आसानी से = <) के साथ भ्रमित किया गया था और असाइनमेंट को परिभाषित करने के लिए कुछ नया चाहिए था और यह सबसे ज्यादा समझ में आता है।

ऐतिहासिक संदर्भ: मैंने पहली बार स्मॉलटॉक की मूल वस्तु भाषा में यह देखा, जिसमें से एप्पल के एसजे ने केवल माइक्रोसॉफ्ट के विंडोज भाग और बीजी की नकल की और आगे (सिंगल थ्रेडेड) से उन्हें पानी पिलाया। आखिरकार NeXT में SJ ने Xerox PARC से दूसरा महत्वपूर्ण सबक लिया, जो ऑब्जेक्टिव C बन गया।

वैसे भी वे सिर्फ ALGOL 1958 से कॉलन-इक्वल अस्सिटमेंट ऑपरेटर ले गए जो बाद में पास्कल द्वारा लोकप्रिय हो गया

https://en.wikipedia.org/wiki/PARC_(company)

https://en.wikipedia.org/wiki/Assignment_(computer_science)

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

https://en.wikipedia.org/wiki/Referential_transparency


0

VB.net के लिए,

एक निर्माता (इस मामले के लिए, जावा में यह = मेरे लिए)

Public ABC(int A, int B, int C){
Me.A = A;
Me.B = B;
Me.C = C;
}

जब आप वह वस्तु बनाते हैं:

new ABC(C:=1, A:=2, B:=3)

फिर, मापदंडों के आदेश की परवाह किए बिना, कि एबीसी ऑब्जेक्ट में ए = 2, बी = 3, सी = 1 है

तो, हाँ, दूसरों के लिए अपने कोड को प्रभावी ढंग से पढ़ने के लिए बहुत अच्छा अभ्यास


-1

बृहदान्त्र-बराबरी का उपयोग अल्गोल और इसके वंशजों जैसे पास्कल और एडा में किया गया था क्योंकि यह उतना ही करीब है जितना ASCII एक बाएं-तीर प्रतीक को मिलता है।

असाइनमेंट के लिए बराबरी का उपयोग करने और तुलना के लिए डबल-बराबरी का अजीब सम्मेलन सी भाषा के साथ शुरू किया गया था।

प्रोलॉग में, असाइनमेंट और समानता परीक्षण के बीच कोई अंतर नहीं है।


यदि वे इसे बाएं तीर के करीब चाहते थे, तो वे <-हास्केल की तरह इस्तेमाल कर सकते थे। वे बाएं तीर के करीब जाने की कोशिश नहीं कर :=रहे थे, वे गणितीय का उपयोग कर रहे थे 'ऑपरेटर के रूप में परिभाषित किया गया है: mathworld.wolfram.com/Defined.html
वरियडिस्मिज़्म

1
पेडेंट अलर्ट: <- हास्केल में असाइनमेंट नहीं है। हास्केल में पास्कल, अडा आदि के रास्ते में विनाशकारी असाइनमेंट नहीं है <- पैरामीटर प्रतिस्थापन के लिए do-notation सिंटैक्स का हिस्सा है। यह सबरूटीन कॉल में मापदंडों में मूल्यों को प्रतिस्थापित करने की प्रक्रिया के अनुरूप है।
माइकल

1
@ मिचेल मेला काफी। आप सही हे। मेरी गलती। वैसे भी, बिंदु यह है कि यदि वे बाएं तीर की नकल करने की कोशिश कर रहे थे, तो वे उपयोग नहीं करेंगे :=, उन्होंने उपयोग किया होगा <-
वारियाडिज्म
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.