From: "uy (西行寺 うゆ)" Date: 2012-05-03T20:39:09+09:00 Subject: [ruby-dev:45611] [ruby-trunk - Bug #6396][Open] instance_eval内での変数の扱いについて Issue #6396 has been reported by uy (西行寺 うゆ). ---------------------------------------- Bug #6396: instance_eval内での変数の扱いについて https://bugs.ruby-lang.org/issues/6396 Author: uy (西行寺 うゆ) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32] 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は値を見ることは出来ても、 値を変更しようとしたり、 if分岐を通らなくても、そういったコードを混ぜておくと xがnil(新しい変数?)に置き換わっているようですが -- http://bugs.ruby-lang.org/