パスワードを忘れた? アカウント作成
256898 journal

tnodaの日記: 「メタプログラミング Ruby 」読書ノート - 第2章 火曜日: メソッド

日記 by tnoda

重複コードを排除する方法について、いくつか学ぶ。

1) 動的メソッド
      a) 動的ディスパッチ ... Object#send()
      b) 動的メソッド ... Method#define_method()
2) ゴーストメソッド
      a) Object#method_missing()
            - デフォルトでは、NoMethodError になる
            - よくあるバグ ... method_missing() 中で未定義メソッドを
                呼び出すと無限ループ
      b) 動的プロキシ
            - オブジェクトがゴーストメソッドを受けとり、
                何らかのロジックを適用してから、他のオブジェクトに転送
      c) respond_to?() のオーバーライド
            - ゴーストメソッドへの対応
3) ブランクスレート ... メソッド名衝突対応
      a) Module#undef_method()
      b) BasicObject

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...