रूबी विधि क्या है?
एक विशिष्ट उद्देश्य के लिए एक साथ समूहीकृत रूबी कोड की एक, या एकाधिक, एक विधि है।
इस समूहीकृत कोड को एक नाम दिया गया है, ताकि आप जब चाहें, कोड को दोबारा लिखे या कॉपी और पेस्ट किए बिना इसका उपयोग कर सकें।
विधि का उद्देश्य हो सकता है :
- जानकारी प्राप्त करें।
- वस्तुओं को बदलें या बनाएं।
- डेटा को फ़िल्टर और प्रारूपित करें।
उदाहरण 1 :
size
Array
. पर विधि ऑब्जेक्ट आपको तत्वों की गिनती देता है (जानकारी प्राप्त करें)।
उदाहरण 2 :
pop
विधि सरणी से अंतिम तत्व को हटा देती है (वस्तुओं को बदलें)।
जब आप वस्तुओं, वर्गों और विधियों के बीच संबंध को समझते हैं तो सब कुछ समझ में आने लगता है।
आइए सीखते रहें!
तरीकों को कैसे परिभाषित करें
रूबी प्रोग्रामिंग भाषा में कई शक्तिशाली अंतर्निहित विधियां हैं जिनका आप उपयोग कर सकते हैं, लेकिन आप अपना स्वयं का भी बना सकते हैं ।
कैसे?
आप def
. का उपयोग करके अपनी खुद की इंस्टेंस विधि को परिभाषित कर सकते हैं कीवर्ड।
यहां सिंटैक्स है :
def gimme_bacon puts "Bacon plz." end
यहाँ क्या हो रहा है?
def
रूबी के सिंटैक्स का हिस्सा है, यह कहता है कि हमdef
. करना चाहते हैं एक विधि मेंgimme_bacon
विधि का नाम हैputs "Bacon plz."
विधि का मुख्य भाग हैend
विधि परिभाषा के अंत को चिह्नित करता है
एक विधि को परिभाषित करना केवल रूबी को बताता है कि आप इसे बनाना चाहते हैं।
यदि आप इसका उपयोग करना चाहते हैं तो आपको विधि को कॉल करने की आवश्यकता है।
रूबी में कॉल मेथड्स कैसे करें
रूबी में, जब हम किसी विधि का उपयोग करते हैं, तो हम कहते हैं कि हम इसे कॉल कर रहे हैं।
आप अक्सर "विधि कॉल" सुनेंगे, या यदि आप किसी ऐसे व्यक्ति के साथ काम कर रहे हैं जो ऑब्जेक्ट-ओरिएंटेड शुद्धतावादी है, तो आप सुन सकते हैं कि "आप एक संदेश भेज रहे हैं"।
किसी भी तरह…
आइए एक विधि का उपयोग करने का एक उदाहरण देखें।
यहां जाएं :
gimme_bacon
यह प्रिंट करता है :
"Bacon plz."
आप ऑब्जेक्ट पर विधियों को कॉल कर सकते हैं।
उदाहरण के लिए :
n = [1,2,3] n.size # 3
यह n.size
विधि को कॉल कर रहा है size
वस्तु पर n
, जो एक Array
होता है ।
परिणाम?
हमें सरणी का आकार मिलता है।
कौन से तरीके उपलब्ध हैं?
यह उस वस्तु के वर्ग पर निर्भर करता है जिस पर आप विधि को कॉल कर रहे हैं।
एक सरणी में हैश से भिन्न विधियां होने वाली हैं ।
किसी दिए गए वर्ग के लिए विधियों की सूची खोजने के लिए आप रूबी दस्तावेज़ देख सकते हैं।
तरीकों से मान लौटाना
रूबी में एक प्रमुख अवधारणा यह है कि सभी विधियाँ एक मान लौटाती हैं।
मुझे समझाने दो!
किसी विधि को कॉल करने के परिणामस्वरूप, आपको कुछ वापस मिलता है।
यह "कुछ" जो आपको मिलता है वह आपकी विधि परिभाषा में अंतिम अभिव्यक्ति से आता है।
यहां मेरा मतलब है :
def number_one 1 end number_one # 1
एक और उदाहरण :
def add(x,y) x + y end add(5, 6) # 11
हम इसे "अंतर्निहित रिटर्न" कहते हैं, "आखिरी चीज़ को स्वचालित रूप से वापस करने" के लिए बस एक फैंसी नाम।
इसके अतिरिक्त :
आप रूबी को return
के लिए कह सकते हैं कीवर्ड के साथ कुछ।
def two return 2 end # 2
ध्यान दें कि जब आप return
. का उपयोग करते हैं तो आपका तरीका चलना बंद हो जाता है ।
आप इसका उपयोग अपने कोड में जल्दी वापसी के लिए या लूप से बाहर निकलने के लिए करते हैं।
माई मेथड नेम में प्रश्न चिह्न क्यों है?
आपको रूबी के कुछ अजीब तरीके मिल सकते हैं।
जैसे नामों के साथ :
empty?
sort!
title=
ये सभी मान्य विधि नाम हैं।
प्रश्न चिह्न, विस्मयादिबोधक चिह्न, या बराबर चिह्न का क्या अर्थ है?
वे रूबी समुदाय में परंपराएं हैं।
स्पष्टीकरण :
- प्रश्न चिह्न विधि , जिसे एक विधेय विधि के रूप में भी जाना जाता है, या तो
true
. लौटाना माना जाता है याfalse
- विस्मयादिबोधक चिह्न विधि का कहना है कि यह गैर-विस्मयादिबोधक चिह्न संस्करण से कुछ अलग करेगा। आमतौर पर, यह वस्तु को किसी तरह से बदलने से जुड़ा होता है, जैसे तत्वों को जोड़ना / हटाना। इसे "बैंग मेथड्स" के रूप में भी जाना जाता है।
- बराबर चिह्न विधि का अर्थ है असाइनमेंट . इसका उपयोग किसी आवृत्ति चर को मान निर्दिष्ट करने के लिए किया जाता है
इनमें से कोई भी परंपरा भाषा द्वारा लागू नहीं की जाती है।
लेकिन…
यदि आप उनका अनुसरण करते हैं, तो आप अधिक रूबी जैसा कोड लिख पाएंगे!
सारांश
आपने रूबी विधियों की शक्ति, उन्हें परिभाषित करने, उनका उपयोग करने और उचित परंपराओं का पालन करने के तरीके के बारे में सीखा है।
अब इसे व्यवहार में लाने की आपकी बारी है 🙂
पढ़ने के लिए धन्यवाद!