すでにクラス以外のものが代入されている定数をクラス定義で使おうとしたらTypeError

すでにクラス以外のものが代入されている定数をクラス定義で使おうとしたらTypeError.
自然。

Rubyco = 123

p Rubyco          # => 123
p Rubyco.class    # => Fixnum

class Rubyco
end               # => Rubyco is not a class (TypeError)

追記:
znzさんから、

結局は同じ事ですが、ruby -r rbconfig -e 'class Config;end' のような場合も TypeError になります。

とのコメントをいただきました。感謝。

  • -r xxxxは、xxxxをrequireするオプション
  • rbconfig.rbでは Config というmoduleが定義されている

とのことで、ruby -r rbconfig -e 'class Config;end' というのは、Configというmoduleが定義された後にConfigというclassを定義しようとしたということになりますね。なるほど。