हमने retry कीवर्ड के बारे में बात की जब एक्सेप्शन के बाद रीट्राई करने पर चर्चा कर रहे थे। इसका कम ज्ञात समकक्ष redo समान रूप से काम करता है, लेकिन पूरे ब्लॉक्स के बजाय लूप इटरेशन को फिर से चलाता है।
redo कीवर्ड
जैसा कि हमने पिछले अकादमी लेख में सीखा, retry आपको ब्लॉक में कोड के एक टुकड़े को फिर से प्रयास करने देता है:
यह उदाहरण कंसोल पर "Iteration" शब्द प्रिंट करता है इससे पहले एक एक्सेप्शन उठाता है। रेस्क्यू ब्लॉक निष्पादित होता है, जो retry को कॉल करता है और ब्लॉक को शुरुआत से फिर से शुरू करता है। इसके परिणामस्वरूप हमारा प्रोग्राम अंतहीन रूप से Iteration प्रिंट करता है। redo कीवर्ड आपको लूप्स का उपयोग करते समय इसी तरह का प्रभाव प्राप्त करने देता है। यह उन स्थितियों में उपयोगी है जहां आपको पुनरावृति करते समय रीट्राई करने की आवश्यकता होती है।
यह प्रिंट करेगा:
ध्यान दें कि इटरेशन काउंट समान कैसे रहता है? यह निष्पादन को लूप की शुरुआत में वापस ले जाता है। retry का उपयोग करने वाले कोड का यह संस्करण सटीक समान आउटपुट प्रिंट करेगा:
आप redo का उपयोग लूप में रीट्राई इम्प्लीमेंट करने के लिए कर सकते हैं। अगले उदाहरण में हमारे पास जॉब्स की एक कतार है। वे या तो :success या :failure लौटाते हैं। हम लूप के उसी इटरेशन को तब तक दोहराते रहते हैं जब तक जॉब सफल नहीं हो जाता।
next कीवर्ड
यदि आप वर्तमान के शुरुआत में वापस जाने के बजाय लूप के अगले इटरेशन पर जाना चाहते हैं, तो आप next का उपयोग कर सकते हैं।
यह प्रिंट करेगा:
देखें कि इटरेशन काउंट कैसे बढ़ता रहता है? ज्यादातर मामलों में next का उपयोग करना वही है जो आप चाहते हैं। redo को देखें यदि आपको एक लूप की आवश्यकता है जो सटीक संख्या में बार चलता है या सरणी पर पुनरावृति करते समय एरर हैंडलिंग की आवश्यकता होती है।
हमें उम्मीद है कि आपने लूप्स में इटरेशन को दोहराने के बारे में कुछ नया सीखा और इस लेख (या AppSignal अकादमी श्रृंखला में अन्य) के बारे में आपने क्या सोचा, यह जानना पसंद करेंगे। कृपया हमें बताने में संकोच न करें कि आप क्या सोचते हैं, या यदि आपके पास कोई रूबी विषय है जिसके बारे में आप अधिक सीखना चाहेंगे।
थिज्स कैडियर
मुख्य प्रौद्योगिकी अधिकारी और सह-संस्थापक। थिज्स कभी-कभी महीनों के लिए हमारे इंफ्रास्ट्रक्चर पर काम करने के लिए गायब हो जाते हैं। यह सुनिश्चित करता है कि हमारे अरबों अनुरोध सही ढंग से संभाले जाते हैं। कंपनी के सर्वश्रेष्ठ ड्रमर।
थिज्स कैडियर के सभी लेख