मैं चर में एक उदाहरण विधि कैसे प्राप्त कर सकता हूं? उदाहरण के लिए:रूबी में एक चर के लिए बाध्य एक उदाहरण विधि कैसे प्राप्त करें?
class Foo
def bar
puts "bar"
end
end
मैं "बार" आवृत्ति विधि (उदाहरण के लिए, इसे पास करने के लिए) में हेरफेर करने में सक्षम होना चाहता हूं। मैं यह कैसे कर सकता हूं?
मुझे लगता है कि मैं कक्षा
foo_class = Kernel.const_get("Foo")
के साथ लगातार प्राप्त कर सकते हैं पता है कि इसी तरह कुछ भी मैं Foo#bar
प्राप्त करने के लिए कर सकते हैं? विधि दायरे में
class Foo
def initialize(value)
@value = value
end
def bar
@value
end
end
unbound_bar = Foo.instance_method(:bar)
p unbound_bar.bind(Foo.new("hello")).call
#=> "hello"
कक्षा विधि 'self.bar'? – fl00r
क्या आप गतिशील रूप से बदलना चाहते हैं कि बार विधि कैसे काम करती है या आप बस बार विधि को कॉल करना चाहते हैं ताकि वह 'बार' आउटपुट कर सके? –
@ fl00r: यह काम नहीं करता है। मेरे पास कक्षा का उदाहरण नहीं है। @ स्कॉट गॉट्रेयू: मैं इसे कॉल करने में सक्षम होना चाहता हूं। –