実装というよりは言語仕様なのかもしれないが、
「メタクラス」というのがわからない。
Rubyだけじゃなく、ほかのオブジェクト指向言語、Smalltalk
とかにもあるらしいが、まず、これってなんのためにあるのだ?
(ま、知らんでも、使えるのだろうが、何となくすっきりしないのだ)

「普通のクラス」(class宣言でユーザーが作成するクラス)と
インスタンスの関係はわかるような気がするのだが、
その「普通のクラス」はメタクラスのインスタンスなのか?

作者のRuby本も立ち読みしてみたが、この部分の
継承関係を図示してあったが、よくわからん。
(まず最初にObjectがあって?それからどーなるんだ?)

この厨房に誰か教えてくれ。
ちなみに俺は普段C++を使っているが、この言語には
メタクラスという概念はないような気がするのだが。