निम्नलिखित कोड ठीक काम करता है:रिटर्न कीवर्ड मेरे 'अगर ब्लॉक' में समस्या क्यों उत्पन्न करता है?
person = {:a=>:A, :b=>:B, :c=>:C}
berson = {:a=>:A1, :b=>:B1, :c=>:C1}
kerson = person.merge(berson) do | key, oldv, newv |
if key == :a
oldv
elsif key == :b
newv
else
key
end
end
puts kerson.inspect
लेकिन अगर मैं "अगर ब्लॉक" अंदर return
जोड़ने के लिए, मैं एक त्रुटि मिलती है:
person = {:a=>:A, :b=>:B, :c=>:C}
berson = {:a=>:A1, :b=>:B1, :c=>:C1}
kerson = person.merge(berson) do | key, oldv, newv |
if key == :a
return oldv
elsif key == :b
return newv
else
return key
end
end
puts kerson.inspect
ऊपर कोड से त्रुटि है:
unexpected return (LocalJumpError)
क्या कोई इसे समझा सकता है? मैंने सोचा कि return
वैकल्पिक रूप से उपयोग किया जा सकता है जहां भी पहले से ही मूल्य लौटने की धारणा है।