って理解でOKかな?
試しにこうしてみると
module M puts self.name puts self.class end puts "===============" class C puts self.name puts self.class end
こうなる
M Module =============== C Class
ってことは、クラス定義の中ではClassクラスのインスタンスがselfになってるのかぁ。
確認その2
これを動かしても
class C end puts C.name puts C.class
こうなる
C Class
クラス定義中やモジュールの定義中のselfはClassクラスやModuleクラスだからattr_accessorとかを呼べるわけなんだ。
やっとすっきり。