मुझे लूप के लिए एक चर प्राप्त करने में परेशानी हो रही है। ऐसा लगता है कि i (var) की गणना बाद में कक्षा परिभाषा पर की जाती है, जिसकी मुझे पूरी आवश्यकता होती है।define_method जब तक विधि कहा जाता है चर का उपयोग नहीं कर रहा है?
ree-1.8.7-2010.02 > class Pat
ree-1.8.7-2010.02 ?> for i in 39..47
ree-1.8.7-2010.02 ?> define_method("a#{i}".to_sym) do
ree-1.8.7-2010.02 > puts i
ree-1.8.7-2010.02 ?> end
ree-1.8.7-2010.02 ?> end
ree-1.8.7-2010.02 ?> end
#=> 39..47
ree-1.8.7-2010.02 > p = Pat.new
#=> #<Pat:0x103c31140>
ree-1.8.7-2010.02 > p.a39
47
#=> nil
ree-1.8.7-2010.02 > p.a49
NoMethodError: undefined method `a49' for #<Pat:0x103c31140>
from (irb):69
from :0
ree-1.8.7-2010.02 > p.a40
47
#=> nil
क्या मुझे डीफ़ का उपयोग करना चाहिए? यदि हां, तो मैं गतिशील विधि नामों को कैसे प्राप्त कर सकता हूं जिन्हें मैंने यहां डीफ़ के साथ हासिल किया था।