タグ

ブックマーク / kakkunpakkun.hatenadiary.org (1)

  • class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト

    普段マジメにソース読みをしないせいで自分の書き方以外のコードが読めない読めない。もっとマジメにコード読もうと思う。 てなわけで今日はclass << selfってなんだよって思ってた。結論はクラスメソッドを複数作成したいときに便利な構文。 で、"class << hoge"というイディオムを調べてたら「特異クラス」の一種だとか。ああ、特異クラスという言葉は聞いた事あった。特異メソッドというのもあったね。 ということでRubyリファレンスから勉強。 6.4 特異メソッドとは何ですか foo = Foo.new def foo.hello print "Hello\n" end foo.hello つまりクラスを拡張することなくオブジェクトにメソッドを追加しちゃうわけっすね。 じゃあ、特異クラスって? 6.6 特異クラスとは何ですか class Foo def hello print "hel

    class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト
    kakuhen1rfeverheiten
    kakuhen1rfeverheiten 2009/08/09
    class << self クラスメソッドとかを定義できる。 その中でのincludeはインスタンスメソッド?
  • 1