Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी के कार्य और तरीके:अपना खुद का कैसे परिभाषित करें

रूबी विधि क्या है?

एक विशिष्ट उद्देश्य के लिए एक साथ समूहीकृत रूबी कोड की एक, या एकाधिक, एक विधि है।

इस समूहीकृत कोड को एक नाम दिया गया है, ताकि आप जब चाहें, कोड को दोबारा लिखे या कॉपी और पेस्ट किए बिना इसका उपयोग कर सकें।

विधि का उद्देश्य हो सकता है :

  • जानकारी प्राप्त करें।
  • वस्तुओं को बदलें या बनाएं।
  • डेटा को फ़िल्टर और प्रारूपित करें।

उदाहरण 1 :

size Array . पर विधि ऑब्जेक्ट आपको तत्वों की गिनती देता है (जानकारी प्राप्त करें)।

उदाहरण 2 :

pop विधि सरणी से अंतिम तत्व को हटा देती है (वस्तुओं को बदलें)।

जब आप वस्तुओं, वर्गों और विधियों के बीच संबंध को समझते हैं तो सब कुछ समझ में आने लगता है।

रूबी के कार्य और तरीके:अपना खुद का कैसे परिभाषित करें

आइए सीखते रहें!

तरीकों को कैसे परिभाषित करें

रूबी प्रोग्रामिंग भाषा में कई शक्तिशाली अंतर्निहित विधियां हैं जिनका आप उपयोग कर सकते हैं, लेकिन आप अपना स्वयं का भी बना सकते हैं

कैसे?

आप def . का उपयोग करके अपनी खुद की इंस्टेंस विधि को परिभाषित कर सकते हैं कीवर्ड।

यहां सिंटैक्स है :

def gimme_bacon
  puts "Bacon plz."
end

यहाँ क्या हो रहा है?

  1. def रूबी के सिंटैक्स का हिस्सा है, यह कहता है कि हम def . करना चाहते हैं एक विधि में
  2. gimme_bacon विधि का नाम है
  3. puts "Bacon plz." विधि का मुख्य भाग है
  4. 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
  • विस्मयादिबोधक चिह्न विधि का कहना है कि यह गैर-विस्मयादिबोधक चिह्न संस्करण से कुछ अलग करेगा। आमतौर पर, यह वस्तु को किसी तरह से बदलने से जुड़ा होता है, जैसे तत्वों को जोड़ना / हटाना। इसे "बैंग मेथड्स" के रूप में भी जाना जाता है।
  • बराबर चिह्न विधि का अर्थ है असाइनमेंट . इसका उपयोग किसी आवृत्ति चर को मान निर्दिष्ट करने के लिए किया जाता है

इनमें से कोई भी परंपरा भाषा द्वारा लागू नहीं की जाती है।

लेकिन…

यदि आप उनका अनुसरण करते हैं, तो आप अधिक रूबी जैसा कोड लिख पाएंगे!

सारांश

आपने रूबी विधियों की शक्ति, उन्हें परिभाषित करने, उनका उपयोग करने और उचित परंपराओं का पालन करने के तरीके के बारे में सीखा है।

अब इसे व्यवहार में लाने की आपकी बारी है 🙂

पढ़ने के लिए धन्यवाद!


  1. अपने रूबी तरीकों की जासूसी कैसे करें

    रूबी में एक अंतर्निहित अनुरेखण प्रणाली है जिसे आप TracePoint . का उपयोग करके एक्सेस कर सकते हैं कक्षा। कुछ चीज़ें जिन्हें आप ट्रेस कर सकते हैं, वे हैं मेथड कॉल, नए थ्रेड और अपवाद। आप इसका उपयोग क्यों करना चाहेंगे? ठीक है, यदि आप किसी निश्चित विधि के निष्पादन का पता लगाना चाहते हैं तो यह उपयोगी हो

  1. अपने रूबी कार्यक्रमों को कैसे डिबग और ठीक करें

    आपका प्रोग्राम कितनी बार ठीक वही करता है जो आप पहली बार चाहते हैं? कई बार हमारे प्रोग्राम हमारी अपेक्षा के अनुरूप काम नहीं करते हैं, इसलिए हमें रूबी को डीबग करना की कला का उपयोग करना पड़ता है। क्यों पता लगाने में हमारी मदद करने के लिए। आप निम्न त्रुटि संदेश से परिचित हो सकते हैं: undefined method

  1. अपना खुद का सीज़र सिफर एनकोडर कैसे लिखें

    क्या आपने कभी सीज़र सिफर . के बारे में सुना है ? जूलियस सीजर ने इस तकनीक का इस्तेमाल अपने दुश्मनों से गुप्त संदेश छुपाने के लिए किया था! सीज़र सिफर सबसे आदिम एन्क्रिप्शन तकनीकों में से एक है। इस प्रणाली के पीछे मुख्य विचार अक्षरों को घुमाना . है वर्णमाला पर पदों की एक x संख्या । उदाहरण के लिए, x