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)