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

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

क्या आपने कभी अपने कोड को डीबग करने की कोशिश की है puts स्टेटमेंट टाइप करके और उम्मीद करते हैं कि वे अंततः वहीं दिखाई देंगे जहां उन्हें होना चाहिए? आप जानते हैं कि मेरा क्या मतलब है - आप टाइप करते हैं:

puts “This worked!"

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

डीबगिंग कुछ ऐसा है जिसे आप अपने कोडिंग जीवन के बाकी हिस्से के लिए करते रहेंगे। यह केवल जूनियर डेव्स के लिए नहीं है! जितनी जल्दी आप उन टूल्स को सीख लेंगे जो आपके कोड में बग्स खोजने में आपकी मदद करते हैं, लंबे समय में आप उतने ही बेहतर होंगे।

तो कौन से टूल्स हैं? जबकि कई विकल्प हैं, आज हम उन महान टूल्स में से एक में झांकने जा रहे हैं जिन्हें हर Rubyist को पता होना चाहिए कि कैसे उपयोग करना है - Pry। हम सीखेंगे कि यह कैसे काम करता है और यह क्यों महत्वपूर्ण है।

Pry क्या है?

Pry आपके प्रोग्राम को फ्रीज कर देता है ताकि आप अपने कोड के अंदर जा सकें और पता लगा सकें कि क्या हो रहा है और क्या ठीक करने की आवश्यकता है। Pry पहली नज़र में भ्रमित करने वाला लग सकता है, लेकिन एक साथी जूनियर Ruby डेव से लें - यह जितना अधिक आप इसका उपयोग करते हैं उतना आसान हो जाता है, और जल्द ही आप इसके बिना प्रोग्राम नहीं करना चाहेंगे।

Pry स्टेरॉयड्स पर IRB की तरह है

संभावना है, आप IRB (इंटरएक्टिव Ruby शेल) का उपयोग करने में सहज हो गए हैं जहां आप अपना कोड ले सकते हैं और यह पता लगाने के लिए इसे एक प्लेग्राउंड में चला सकते हैं कि क्या काम करता है और क्या नहीं। यह डीबगिंग के लिए भी एक उपयोगी टूल हो सकता है। Pry का हिस्सा इसी तरह से काम करता है, लेकिन अतिरिक्त सुविधाओं के साथ। IRB और Pry दोनों REPL कमांड्स का उपयोग करते हैं: रीड, इवैलुएट, प्रिंट, और लूप। लेकिन Pry आपको डीबगिंग करते समय आगे जाने की अनुमति देता है। उदाहरण के लिए, Pry आपको कलर-कोडेड सिंटैक्स देता है, जो तब मदद करता है जब आप यह पता लगाने की कोशिश कर रहे होते हैं कि कोड निष्पादित होने पर क्या होगा। यह गलतियों को देखना आसान बनाता है, जो आपके कोड को ठीक करना आसान बनाता है।

नमूना कोड

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

डीबगिंग के बारे में एक नोट

यह पहले ही कहा जा चुका है, लेकिन इसे फिर से कहने लायक है - डीबगिंग कुछ ऐसा है जो सभी प्रोग्रामर अपने करियर के दौरान करते हैं। इन टूल्स को सीखने में कुछ भी जूनियर नहीं है! तो जितनी जल्दी आप उन्हें सीख लेंगे, उतना बेहतर प्रोग्रामर आप होंगे।

Pry के साथ ब्रेकपॉइंट्स सेट करना

अब Pry की सबसे अच्छी विशेषताओं में से एक को देखने का समय आ गया है - अपने कोड में ब्रेकपॉइंट्स सेट करना। मान लीजिए कि आपको अपने कोड को उस तरह चलाने में वास्तव में कठिन समय हो रहा है जैसा आपने उम्मीद की थी। (हम सब वहाँ रहे हैं, है ना?)

आप जो कर सकते हैं वह कोड के उस हिस्से में एक ब्रेकपॉइंट सेट करना है जो अपेक्षा के अनुरूप काम नहीं कर रहा है और फिर आप Pry के एक संस्करण में समाप्त होंगे, लेकिन एक ऐसे बिंदु पर जो फ्रीज है। इसे समझाने का सबसे अच्छा तरीका एक उदाहरण के साथ है।

मान लीजिए कि हम यह पता लगाने की कोशिश कर रहे हैं कि हम जिस यूज़र को देखना चाहते हैं वह ठीक से सेट है या नहीं। सबसे पहले, हम अपने कोड में binding.pry जोड़ सकते हैं। उस कोड की लाइन के ठीक ऊपर binding.pry सेट करें जो परेशानी पैदा कर रही है और फिर कोड चलाएं।

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

अगला, हम उस पेज को हिट करने की कोशिश करते हैं जो इस कोड को ट्रिगर करेगा। चूंकि हम Rails सर्वर को स्थानीय रूप से चला रहे हैं, हम जाएंगे: localhost:3000/users/1

आप पाएंगे कि आप एक IRB-जैसे कंसोल में पहुंच जाते हैं जहां आप अपने कोड को टेस्ट कर सकते हैं और देख सकते हैं कि क्या हो रहा है।

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

इस बिंदु पर, हम चेक कर सकते हैं कि '@user' सही यूज़र आईडी पर सेट है या नहीं।

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

हम यह भी चेक कर सकते हैं कि हमारा यूज़र लॉग इन है या नहीं:

Pry में मास्टर करें: हर जूनियर Rubyist को सीखना चाहिए आवश्यक डीबगिंग टूल

अगर कुछ नहीं होता तो क्या?

कभी-कभी आप अपने ब्रेकपॉइंट्स रखेंगे, अपना कोड चलाएंगे, और Pry के अंदर उतरने के बजाय, कुछ भी नहीं होता हुआ लगता है। हालांकि यह निराशाजनक हो सकता है, यह एक सुराग देता है। इसका मतलब है कि आपका कोड कभी भी Pry को ट्रिगर नहीं करता क्योंकि यह कभी इतना आगे नहीं पहुंचा। तो आप क्या करते हैं? आप कोड में पहले एक नया ब्रेकपॉइंट सेट करते हैं और देखते हैं कि क्या यह काम करता है। हालांकि यह थकाऊ लग सकता है, यह वास्तव में आपको महत्वपूर्ण जानकारी दे रहा है!

मदद मांगने का समय

एक जूनियर Rubyist के रूप में, कभी-कभी आपको अधिक वरिष्ठ डेवलपर से मदद मांगने की आवश्यकता होगी। समस्या यह तय करना है कि डीबगिंग कब जारी रखनी है और कब मदद के लिए कॉल करना है। डीबगिंग करते समय, समस्या को दोहराने की कोशिश करना एक अच्छा विचार है। Pry के साथ अपने ब्रेकपॉइंट्स सेट करें और कोड में गहराई से जाएं। यदि 20-30 मिनट के बाद आप समाधान खोजने के करीब नहीं हैं, तो शायद सहायता मांगने का समय आ गया है।

Pry को एक कोशिश दें

जब आप Pry को अपने डीबगिंग टूल्स के शस्त्रागार में जोड़ने के लिए तैयार हों, तो आपको कुछ चीजें करने की आवश्यकता होगी। सबसे पहले, आपको जेम इंस्टॉल करना होगा। आप इसे अपने जेमफाइल में जोड़कर और बंडल इंस्टॉल चलाकर कर सकते हैं: gem 'pry'

या, आप इसे मैन्युअली इंस्टॉल कर सकते हैं: gem install pry

आपको यह भी सुनिश्चित करना होगा कि आपका कोड Pry की उम्मीद कर रहा है, इसलिए अपनी फ़ाइल में यह लाइन रखें:

require 'pry'

और बस! आप Pry के साथ तैयार और चालू हैं!

  1. मुफ्त में ऑनलाइन मोर्स कोड सीखने के लिए 5 सर्वश्रेष्ठ वेबसाइट्स मुफ्त में ऑनलाइन मोर्स कोड सीखने के लिए 5 सर्वश्रेष्ठ वेबसाइट्स

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

  1. बेजोड़ गेमिंग अनुभव के लिए 6 आवश्यक Xbox One टिप्स बेजोड़ गेमिंग अनुभव के लिए 6 आवश्यक Xbox One टिप्स

    गेमिंग कंसोल की बात करें, अगर PlayStation 4 का कोई कड़ा प्रतियोगी है तो वह कोई और नहीं बल्कि Xbox One है। चाहे वह Sony का PlayStation हो या Xbox One, ये दोनों कंसोल आपके गेमिंग अनुभव को एक बिल्कुल नए स्तर पर ले जाने में सक्षम हैं। 2016 में जारी, Xbox One S दुनिया भर में सबसे बड़ी हिट में से एक था जि

  1. हर महत्वाकांक्षी उपन्यासकार के लिए आवश्यक लेखन उपकरण हर महत्वाकांक्षी उपन्यासकार के लिए आवश्यक लेखन उपकरण

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