कोर्स
नोट: यह ट्यूटोरियल Scala Tutorial Series का क्रम जारी रखता है। यदि आपने Beginners Guide to Scala और IF ELSE in Scala नहीं पढ़ा है, तो पहले उन्हें देखें।
परिचय
operator एक प्रतीक या फ़ंक्शन होता है जो एक या अधिक ऑपरैंड के साथ की जाने वाली क्रिया को दर्शाता है। ऑपरेटर्स के कई प्रकार होते हैं, जबकि ऑपरैंड को आप variable के रूप में समझ सकते हैं। सभी प्रोग्रामिंग भाषाओं की बुनियाद ऑपरेटर्स हैं। ऑपरेटर्स हमें ऑपरैंड्स पर तरह-तरह की क्रियाएँ करने देते हैं। ऑपरेटर्स कंपाइलर को निर्देश देते हैं कि गणितीय (अंकगणित), लॉजिकल, असाइनमेंट आदि जैसी क्रियाएँ करें और अंत में परिणाम दें।
कई प्रोग्रामिंग भाषाओं में, और Scala में भी, निम्न प्रकार के ऑपरेटर्स उपयोग किए जाते हैं:
- Relational Operator
- Arithmetic Operator
- Assignment Operator
- Logical Operator
- Bitwise Operator
आप ऊपर दिए गए ऑपरेटर्स के बारे में सैद्धांतिक और प्रोग्रामिंग—दोनों तरीकों से सीखेंगे।
Relational Operators
रिलेशनल ऑपरेटर्स मुख्यतः दो या अधिक वेरिएबल्स के बीच तुलना करने के लिए उपयोग होते हैं। यदि आपने IF ELSE in Scala ट्यूटोरियल पढ़ा है, तो आपने देखा होगा कि IF ELSE कंडीशन्स में रिलेशनल ऑपरेटर्स की शक्ति का उपयोग किया गया था।
ये रिलेशनल ऑपरेटर्स एक boolean value लौटाते हैं, यानी True या False।
वेरिएबल्स पर लागू करने के लिए आप निम्न रिलेशनल ऑपरेटर प्रतीकों का उपयोग करते हैं (स्रोत: Operators in Scala):
-
Equal To(==):यह जाँचता है कि दिए गए दोनों वेरिएबल्स या ऑपरैंड्स समान हैं या नहीं। यदि हाँ, तो true लौटाता है, अन्यथा false। -
Not Equal To(!=):यहequal toऑपरेटर का विपरीत है, या कह सकते हैंequal toका बूलियन कॉम्प्लिमेंट। यह जाँचता है कि दिए गए दोनों ऑपरैंड्स समान हैं या नहीं। यदि नहीं, तो true लौटाता है, अन्यथा false। -
Greater Than(>):यह जाँचता है कि पहला ऑपरैंड दूसरे ऑपरैंड से बड़ा है या नहीं। यदि हाँ, तो true; अन्यथा false। -
Less than(<):यहgreater thanऑपरेटर का उल्टा है, क्योंकि यह जाँचता है कि पहला ऑपरैंड दूसरे ऑपरैंड से छोटा है या नहीं। यदि हाँ, तो true; अन्यथा false। -
Greater Than Equal To(>=):यह ऑपरेटर जाँचता है कि पहला ऑपरैंड दूसरे ऑपरैंड से बड़ा या बराबर है या नहीं। यदि हाँ, तो true; अन्यथा false। -
Less Than Equal To(<=):greater than equal toऑपरेटर का विपरीत। यह जाँचता है कि पहला ऑपरैंड दूसरे ऑपरैंड से छोटा या बराबर है या नहीं। यदि हाँ, तो true; अन्यथा false।
अब एक कोड के उदाहरण से रिलेशनल ऑपरेटर्स को समझते हैं।

ऊपर दिए गए कोड को चलाने के लिए, बस scala relation_op.scala टाइप करें और आपको नीचे दिखाए गए जैसा आउटपुट दिखेगा।

अगला, आप logical operators के बारे में सीखेंगे।
Logical Operators
ये अधिकतर कंडीशनल स्टेटमेंट्स जैसे IF ELSE स्टेटमेंट या while लूप में उपयोग होते हैं। ये दो या अधिक शर्तों को जोड़ते हैं या विचाराधीन मूल शर्त के आउटपुट को कॉम्प्लिमेंट भी करते हैं। (स्रोत: Operators in Scala)
-
Logical AND:जब दोनों शर्तें पूरी होती हैं, तब true लौटाता है। अन्यथा false। “and” का उपयोग && ऑपरेटर के स्थानापन्न के रूप में किया जा सकता है। -
Logical OR:जब एक (या दोनों) शर्तें पूरी होती हैं, तब true लौटाता है। अन्यथा false। “or” का उपयोग || ऑपरेटर के स्थानापन्न के रूप में किया जा सकता है। -
Logical NOT:यदि विचाराधीन शर्त पूरी नहीं होती, तो true लौटाता है। अन्यथा false। “not” का उपयोग ! ऑपरेटर के विकल्प के रूप में किया जा सकता है।


Arithmetic (Mathematical) Operators
जैसा कि नाम से स्पष्ट है, अंकगणितीय ऑपरेटर्स ऑपरैंड्स के बीच गणितीय क्रियाएँ करने के लिए उपयोग होते हैं।
Scala में प्रचलित अंकगणितीय ऑपरेटर्स निम्न हैं (स्रोत: Operators in Scala):
-
Addition:दो वेरिएबल्स/ऑपरैंड्स को $(+)$ जोड़ता है। -
Subtraction:दो ऑपरैंड्स को $(-)$ घटाता है। -
Multiplication:दो ऑपरैंड्स का $(\times)$ गुणन करता है। -
Division:पहले ऑपरैंड को दूसरे ऑपरैंड से $(/)$ भाग देता है। -
Exponent:ऑपरैंड्स का घातांक (power) लौटाता है। यानी जब पहला ऑपरैंड दूसरे ऑपरैंड की घात तक उठाया जाता है $(x^y)$ या $(x**y)$। -
Modulus:जब पहले ऑपरैंड को दूसरे से भाग दिया जाता है तो बचा हुआ भाग या शेषफल (%) मॉड्यूलस कहलाता है।
आइए जल्दी से एक छोटा-सा कोड लिखते हैं और परिणामों का विश्लेषण करते हैं।
इस उदाहरण में, आप केवल वेरिएबल्स परिभाषित करने के बजाय lists का उपयोग करेंगे। किसी वेरिएबल के विपरीत, एक List में विभिन्न डेटा टाइप्स के साथ n मान हो सकते हैं, वे Scala में linked list का प्रतिनिधित्व करती हैं और immutable होती हैं। आप दो वेरिएबल्स के बजाय दो lists पर अंकगणितीय क्रियाएँ करेंगे।


Assignment Operators
किसी वेरिएबल को मान सौंपने के लिए असाइनमेंट ऑपरेटर्स का उपयोग होता है। इसे करने के लिए, दायाँ ऑपरैंड मान के रूप में लिया जाता है, जबकि बायाँ ऑपरैंड सामान्यतः वह वेरिएबल होता है जिसे मान सौंपा जाना है। मान के डेटा-टाइप जैसे int, float आदि हो सकते हैं। वेरिएबल और मान का डेटा-टाइप समान होना चाहिए, अन्यथा कंपाइलर त्रुटि देता है। (स्रोत: Operators in Scala)
-
Simple Assignment:यह ऑपरेटर वेरिएबल को मान सौंपने के लिए उपयोग होता है $(=)$। -
Add AND Assignment:बाएँ ऑपरैंड में दाएँ ऑपरैंड को जोड़कर अंत में उसे बाईं ओर वाले वेरिएबल को सौंपता है $(+=)$। -
Subtract AND Assignment:Add ANDअसाइनमेंट के समान, यह बाएँ ऑपरैंड से दाएँ ऑपरैंड को घटाकर अंत में बाईं ओर वाले वेरिएबल को सौंपता है $(-=)$। -
Multiply AND Assignment:बाएँ ऑपरैंड को दाएँ ऑपरैंड से गुणा करके फिर उसे बाईं ओर वाले वेरिएबल को सौंपता है $(\times =)$। -
Divide AND Assignment:बाएँ ऑपरैंड को दाएँ ऑपरैंड से भाग देकर अंततः मान को बाईं ओर वाले वेरिएबल को सौंपता है $(/=)$।
इसी तरह के और भी कई असाइनमेंट ऑपरेटर्स होते हैं। अंत में, आइए एक कोड लिखकर समझते हैं कि ये प्रोग्राम के स्तर पर कैसे काम करते हैं।


निष्कर्ष
Scala पर इस ट्यूटोरियल को पूरा करने के लिए बधाई।
यदि आपने पिछले दो ट्यूटोरियल्स भी पढ़े हैं, तो अब आपने Scala में तीन अलग-अलग विषय कवर कर लिए हैं। एक उपयोगी अभ्यास होगा कि तीनों से प्राप्त कौशलों का उपयोग करके शुरू से एक Scala प्रोग्राम लिखें। यह न केवल आपका आत्मविश्वास बढ़ाएगा बल्कि Scala में और अधिक उन्नत विषयों को फॉलो करते समय आपका काम भी आसान बनाएगा।
संदर्भ:
कृपया इस ट्यूटोरियल से जुड़े किसी भी प्रश्न को नीचे टिप्पणी अनुभाग में पूछने के लिए स्वतंत्र महसूस करें।