रूबी में आप किसी भी त्रुटि को पकड़ने के लिए असाइनमेंट के अंत में rescue
लिख सकते हैं। मेरे पास एक फ़ंक्शन है (नीचे: a_function_that_may_fail
) जहां कुछ शर्तों को पूरा नहीं किया गया है, तो इसे एक त्रुटि फेंकना सुविधाजनक है। निम्नलिखित कोड अच्छी तरह से`var = कुछ बचाव शून्य व्यवहार
post = {}
# Other Hash stuff
post['Caption'] = a_function_that_may_fail rescue nil
काम करता है फिर भी मैं पोस्ट [ 'कैप्शन'] भी सेट नहीं समारोह में विफल रहता है, तो करना चाहते हैं।
मैं जानता हूँ कि मैं कर सकते हैं:
begin
post['Caption'] = a_function_that_may_fail
rescue
end
लेकिन यह है कि एक छोटे से अत्यधिक महसूस करता है - वहाँ एक सरल समाधान है?
def this_may_fail
some_logic rescue nil
end
आप तो उपयोग कर सकते हैं संशोधक अपने विधि की वापसी मान की जाँच करें और केवल अगर यह nil
या false
नहीं है मान देना:
समारोह नए सिरे से लिखना नहीं वास्तव में एक विकल्प है, इसकी एक Nokogiri खोज है - अनिवार्य रूप से मैं अगर वहाँ एक विशिष्ट XML तत्व होता है 'कैप्शन' हैश आइटम सेट करना चाहते हैं, लेकिन महत्वपूर्ण बात, यह सेट नहीं करता है, तो है कि XML तत्व वहां नहीं है। –