2010-07-04 8 views
10

मुझे रूबी के विभिन्न प्रवाह-नियंत्रण विकल्पों को तोड़ने वाले ऑनलाइन उपयोगी संसाधन नहीं मिल रहे हैं।रूबी प्रवाह नियंत्रण

की है कि मैं एक विधि में भीतर एक सरणी से अधिक पुनरावृत्ति कर रहा हूँ मान लेते हैं:

def a_method 
    things.each do |t| 
     # control options? 
    end 
end 

यहाँ मेरी अलग प्रवाह नियंत्रण विकल्प क्या हैं? वे अलग कैसे होते हैं?

  1. पुन: प्रयास करें
  2. वापसी
  3. तोड़
  4. अगले
  5. फिर से करना

उत्तर

16

retry शर्त यह है कि वजह से बाद शुरू ब्लॉक में वापस कूद करने, एक बचाव ब्लॉक के अंदर इस्तेमाल किया जा सकता अपवाद का उपचार किया गया है। एक ब्लॉक के अंदर यह उपज विधि की शुरुआत में कूदने का प्रभाव पड़ता है। तो प्रत्येक के अंदर इसका मतलब है कि पुनः प्रयास लूप की शुरुआत में कूद जाएगा।

return इस मामले में a_method से उस विधि से वापस आ जाएगा। each से इस मामले में (जो a_method से लौटने अगर कुछ प्रत्येक ब्लॉक के अंत और a_method के अंत के बीच हुआ से अलग होगा) -

break उपज विधि से वापस आ जाएगी।

next ब्लॉक से वापस आ जाएगा और इस प्रकार things में अगले आइटम पर कूद जाएगा।

redo ब्लॉक की शुरुआत में कूद जाएगा और इस प्रकार वर्तमान पुनरावृत्ति को दोहराएगा।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^