अपने ब्लॉक में instance_eval विधि परिवर्तन स्वयं, जैसे:example_eval विधि जैसे ब्लॉक में स्वयं को कैसे बदलें?
class D; end
d = D.new
d.instance_eval do
puts self # print something like #<D:0x8a6d9f4>, not 'main'!
end
हम एक विधि ourself (या किसी अन्य तरीके (instance_eval के अलावा अन्य) जो एक ब्लॉक लेता है), जब प्रिंट स्वयं, हम 'मुख्य मिल जाएगा निर्धारित करते हैं 'है, जो instance_eval method.eg से अलग है:
[1].each do |e|
puts self # print 'main'
end
कैसे मैं एक विधि instance_eval की तरह (जो एक ब्लॉक लेता है) को परिभाषित कर सकते हैं? अग्रिम धन्यवाद।
हासिल करना चाहते हैं क्या करें? – megas
मुझे नहीं लगता कि आप जो चाहते हैं उसे करना संभव है। शायद क्योंकि आप स्वयं को बदल सकते हैं तो यह बहुत भ्रमित होगा। –