Ruby に特異クラスを返すメソッドを設けるなら…


[ruby-dev:34192] Re: Object#singleton_class

気持ちは分かりますが、名前の合意ができるまでは導入しません。

  * singleton_class→singletonパターンに登場するクラス、とく
    に標準添付のsingleton.rbで定義されているSingletonクラス
    トの混同がうれしくない

  * metaclas→メタクラスとは伝統的に「クラスのクラス」を意味
    するが、Rubyでは特異クラスはもっと広い

  * eigenclass→これが一番害が少ないが、意味が分かる人は少数
    派すぎる気がする

というわけで、ruby-talkを含めて啓蒙活動が必要かもしれません。


Squeak Smalltalk に倣って uniclass がいいなぁ…。w

あと、それとは別に、class << self; self end は特異クラスがないとき新しく作ってしまうので、これと等価なメソッドには assured_uniclass などと名付けて、ホントの uniclass のほうは特異クラスがないときは nil を返すようにして区別していただけると、特異クラスで遊ぶときに何かとうれしいです。さもなくば、有無をチェックできる has_uniclass? を設けるか。