特異クラス
なんかひさしぶりに特異クラスを意識して、あぁ Ruby はクラスベースなんだなぁってなんだか実感した。普段使う分にはインスタンスにメソッドが直接定義されてるように見えて特異クラスを意識しないもんなぁ。
特異メソッドは全て特異クラスに定義されているんだから、特異クラスも間接的に使いまくってるんだよなぁ。Class.new も特異クラスのメソッドだもんなぁ。Class さえ Object のインスタンスであるから特異クラスを持ってる。特異クラスもクラスのインスタンスなのだから、特異クラスを持ってる。
なんとなく思いついて特異クラスもクラスなんだからインスタンスつくれんのかなぁって思ったけど作れなかった。(clone からデータコピーをのぞいた感じになるのかなぁと漠然と想像した)
in `new': can't create instance of virtual class (TypeError)