検索すると特異クラスとか特異メソッドとかいうらしい
そうそう Ruby はオープンクラスとかいって
・まつもと直伝 プログラミングのオキテ 第21回 オープンクラスとRuby on Rails
クラスとかインスタンスに後から色々追加できるんでした
にしても Google の検索は "<<" だけはひっかけないし
"class <<" でも "<< self" でも << が無いような結果しか出さないくせに
"class << self" だと色々ひっかけてくれるという不思議仕様
や、仕様が良く分かってないだけなんでしょうか、むむむん
で、"class << self" っての自体は class method の追加の際に使われるようですが
・[ruby-dev:12277] Re: class << self
自クラスで定義されている定数以外は、そのネストの外側のクラス
/モジュールで定義されている定数か、スーパークラスで定義され
ている定数しか見えない
ってことは class << self で呼ばれてる class は何??
で検索してたら次を発見
・id:m-hiyama:20080109:1199863428 を Ruby で - sumim’s smalltalking-tos
おー、何じゃこりゃ
メタクラスに出会って困惑することとなってしまいました
Ruby の 1.8 と 1.9 でも挙動違うみたいだし
クラスもオブジェクトなのでクラスのメタクラスもあって
そこにクラスメソッドが住んでるってことかな??
0 件のコメント:
コメントを投稿