Project

General

Profile

Feature #10773

Updated by hsbt (Hiroshi SHIBATA) almost 11 years ago

see my code: 

 ~~~ 
 module M 
   module M2 

   end 
 end 

 class C 
   include M 

   def ivk_m2(*args, &blk) 
     M2 
   end 
 end 

 C.new.ivk_m2 # work 
 C.new.instance_eval do 
   meth_in_m # work 
   M2 # not work 
 end 

 ~~~ 

 and output 

 ~~~ 
 Uncaught exception: uninitialized constant M2 
	 /home/roroco/Dropbox/rbs/ro_btc/exe.rb:22:in `block in <top (required)>' 
	 /home/roroco/Dropbox/rbs/ro_btc/exe.rb:20:in `instance_eval' 
	 /home/roroco/Dropbox/rbs/ro_btc/exe.rb:20:in `<top (required)>' 
 ~~~ 

 in above code,    i think ```C.new.instance think`C.new.instance { M2 }``` }` should invoke M::M2 in syntax since it's in "instance block" or "main" 

Back