खोज…


बंदर ने एक वर्ग को पटक दिया

मंकी पैचिंग कक्षा के बाहर कक्षाओं या वस्तुओं का संशोधन है।

कभी-कभी कस्टम कार्यक्षमता को जोड़ना उपयोगी होता है।

उदाहरण: बूलियन को पार्सिंग प्रदान करने के लिए स्ट्रिंग कक्षा को ओवरराइड करें

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