Skip to content

第4章 木曜日: クラス定義

suchi edited this page Jul 12, 2011 · 9 revisions

メタプログラミングruby読書会::第4章 木曜日: クラス定義

構成

  • 4.1 クラス定義のわかりやすい説明
    • 4.1.1 クラス定義の中身
    • 4.1.2 カレントクラス
    • 4.1.3 カレントクラスのまとめ
    • 4.1.4 クラスインスタンス変数
    • 4.1.5 Bookwormの作業再び
  • 4.2 クイズ:クラスのタブー
    • 4.2.1 クイズの答え
  • 4.3 特異メソッド
    • 4.3.1 特異メソッドの導入
    • 4.3.2 クラスメソッドの真実
    • 4.3.3 クラスマクロ
  • 4.4 特異クラス
    • 4.4.1 特異メソッドの謎
    • 4.4.2 特異クラスの出現
    • 4.4.3 メソッド探索再び
  • 4.5 クイズ:モジュールの不具合
    • 4.5.1 クイズの答え
  • 4.6 エイリアス
    • 4.6.1 メソッドエイリアス
    • 4.6.2 アラウンドエイリアス
    • 4.6.3 Amazonの問題の解決
  • 4.7 クイズ:壊れた計算
    • 4.7.1 クイズの答え
    • 4.7.2 一日の終わり

疑問・質問・ポイント

  • 4.1 クラス定義のわかりやすい説明
    • p.139 最後の「お知らせ」のところが。モジュールでのお知らせを繰り返さないよ、という意味? (suchi)
    • p.145 コラム ・@@vが定義されているときのカレントクラスはObject ・クラス変数はサブクラスからアクセス可・ゆえにMyClassからObjectの@@vにアクセスできる、というのは理解できたのですが、「クラス変数はクラスではなく、クラス階層に属している」の意味がわかりませんでした(suchi)
  • 4.2 クイズ:クラスのタブー
  • 4.3 特異メソッド
    • p.150 Object.singleton_methods #=> 特異メソッドを配列で返す
    • p.158 「特異クラスとinstance_eval()」 「instance_evalを呼ぶことでカレントクラスをレシーバの特異クラスに変更する」の意味がわからなかった(suchi)
  • 4.4 特異クラス
  • 4.5 クイズ:モジュールの不具合
  • 4.6 エイリアス
    • aliasとModule#alias_method() の使い分けは必要? (suchi)
  • 4.7 クイズ:壊れた計算

リンク

Clone this wiki locally