Project

General

Profile

Bug #6396

Updated by nobu (Nobuyoshi Nakada) almost 12 years ago

=begin 
   class O 
     
   attr_accessor :x 
   
 end 
   
 o = O.new 

   

 o.x = 99 

   

 o.instance_eval do 
     
   p x #=> 99 
     
   if nil 
       
     x = 2 # この記述があるとxがnilになる 
     
   end 
     
   p x #=> nil 
   
 end 

 


 これはバグでしょうか? 


   


 o.instance_eval do 
     
   p x #=> 99 
     
   p x += 1 
   
 end 
 ((|x|))は値を見ることは出来ても、 xは値を見ることは出来ても、 
 値を変更しようとしたり、 
 (({if}))分岐を通らなくても、そういったコードを混ぜておくと if分岐を通らなくても、そういったコードを混ぜておくと 
 ((|x|))が(({nil}))(新しい変数?)に置き換わっているようですが 
 =end 
 xがnil(新しい変数?)に置き換わっているようですが

Back