こんにちは、sheepman です。

特異クラスに関して質問があります。
[ruby-dev:23690] で「特異クラスが特異オブジェクトのクラスを継承しない」ように
なりました。以下のスクリプトで

class X
end

x = X.new

class << x
  p self < X           #=> nil
  p self.superclass  #=> X
end

というふうに、self.superclass が X であるのは意図されたことでしょうか。
ruby のバージョンは以下の通りです。

$ ruby -v        
ruby 1.9.0 (2005-01-07) [i686-linux]

それと関係ないのですが、 self < X が成立しない場合に nil を返すようになった経緯が
気になって検索してみたら、[ruby-dev:20190][ruby-dev:20853] が見つかりました。
「<=> が型不整合で nil を返す仕様」の話です。

-- 
sheepman / TAMURA Takashi
sheepman / tcn.zaq.ne.jp http://sheepman.parfait.ne.jp/