特異クラス?
すでに特異メソッドについては触れました。
簡単におさらいするとRubyではオブジェクト(インスタンス)に対してメソッドを追加することができるわけです。
この考えをもう少し進めるとクラスに対する他の操作をオブジェクトに対しても行えるようにしたくなってきませんか?
なってこないよ、と言わないで(^^;
これを可能にするのが特異クラスという機構です。
プログラミング言語 Ruby リファレンスマニュアル
例えばActiveRecord::Migrationとかで
module ActiveRecord class Migration class << self ... end end end
みたいなことやってるけど、これが中々すぐに理解できない。まああんまソースもみてないし調べてもないんだけど、今回のclass << selfに限って言えばどういう意図があってやってるんだろう。うーん、Rubyおもしれえ。