Ruby 1.8で以下のような動作をします。
$ cat /tmp/z.rb
class B
class C
end
end
class X < B
def initialize
p C
end
end
$ ruby -ve '
require "/tmp/z.rb"
C=0
X.new'
ruby 1.8.0 (2003-09-26) [i386-linux]
0
同じ内容だと思うのですが、
すべてのコードをコマンドラインから与えたり
一つのファイルに書いおくと以下のようになります。
$ ruby -ve '
class B
class C
end
end
class X < B
def initialize
p C
end
end
C=0
X.new'
ruby 1.8.0 (2003-09-26) [i386-linux]
B::C
1.6.8ではどちらの場合もB::Cが返ります。
--
やまだあきら / akira yamada <URL:http://arika.org>
Vine Caves, Ltd. <URL:http://vinecaves.com>
(akira / arika.org, akira / debian.org or akira / vinecaves.com)