Ruby Language
रूबी में बंदर पैचिंग
खोज…
बंदर ने एक वर्ग को पटक दिया
मंकी पैचिंग कक्षा के बाहर कक्षाओं या वस्तुओं का संशोधन है।
कभी-कभी कस्टम कार्यक्षमता को जोड़ना उपयोगी होता है।
उदाहरण: बूलियन को पार्सिंग प्रदान करने के लिए स्ट्रिंग कक्षा को ओवरराइड करें
class String
def to_b
self =~ (/^(true|TRUE|True|1)$/i) ? true : false
end
end
जैसा कि आप देख सकते हैं, हम स्ट्रिंग क्लास में to_b()
विधि जोड़ते हैं, इसलिए हम किसी भी स्ट्रिंग को to_b()
मूल्य पर पार्स कर सकते हैं।
>>'true'.to_b
=> true
>>'foo bar'.to_b
=> false
किसी वस्तु को बंदर करना
कक्षाओं के पैचिंग की तरह, आप एकल ऑब्जेक्ट को भी पैच कर सकते हैं। अंतर केवल इतना है कि एक उदाहरण नई विधि का उपयोग कर सकता है।
उदाहरण: बूलियन को पार्सिंग प्रदान करने के लिए एक स्ट्रिंग ऑब्जेक्ट को ओवरराइड करें
s = 'true'
t = 'false'
def s.to_b
self =~ /true/ ? true : false
end
>> s.to_b
=> true
>> t.to_b
=> undefined method `to_b' for "false":String (NoMethodError)
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow