Issue #5748 has been reported by Yasunori Miyamoto.

----------------------------------------
Bug #5748: class_eval ブロック内での定数のスコープがドキュメントと矛盾
http://redmine.ruby-lang.org/issues/5748

Author: Yasunori Miyamoto
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.3p0 (2011-10-30) [i386-mingw32]


以下の class_eval の説明によると、
http://doc.ruby-lang.org/ja/1.9.3/method/Module/i/class_eval.html
> 定数とクラス変数のスコープは、自身のモジュール定義式内と同じスコープになります。
とのことですが、以下のコードを実行すると NameError が発生します。

class MyClass
    CONST = "MyClass"
end

MyClass.class_eval do
    p CONST        # => NameError
end


実行結果:
test.rb:6:in `block in <main>': uninitialized constant CONST (NameError)
        from test.rb:5:in `class_eval'
        from test.rb:5:in `<main>'

期待した結果:
"MyClass" と表示される。


-- 
http://redmine.ruby-lang.org