Skip to content

第1章 月曜日: オブジェクトモデル

yowasou edited this page Aug 13, 2023 · 24 revisions

メタプログラミングruby読書会::第1章

構成

  • イントロダクション
  • 1.1 ビルと一緒の月曜日
  • 1.2 オープンクラス
    • 1.2.1 クラス定義の中身
    • 1.2.2 オープンクラスの問題点
    • 1.2.3 猿マネとモンキーパッチ
  • 1.3 クラスの真実
    • 1.3.1 オブジェクトの中身
    • 1.3.2 クラス再訪
    • 1.3.3 定数
    • 1.3.4 オブジェクトとクラスのまとめ
  • 1.4 クイズ: 引かれていない線
    • 1.4.1 クイズの答え
  • 1.5 メソッドを呼び出すときに何が起きてるの?
    • 1.5.1 メソッド探索
    • 1.5.2 メソッド実行
  • 1.6 クイズ: 絡み合ったモジュール
    • 1.6.1 クイズの答え
  • 1.7 オブジェクトモデルまとめ

はじめに(@mackato)

  • アンケート結果はRails3/メタプログラミングRubyは同じくらい
  • 1回に1章くらい予定だが、様子をみつつ
  • とりあえず音読で進める
  • 今回はモデレータ: @mackato、議事ロガー: @suchi
  • さいごにふりかえり(@suchi)
  • IDは敬称略

疑問と会話

あらかじめ判らない部分や課題があればここに書く。

  • イントロダクション
    • 35分かかった
  • 1.1
    • この節からは黙読してみる
  • 1.2
  • 1.3
    • p.46 インスタンスメソッドとメソッドの説明。「着目して」の意味がわからず悩んだ (suchi)
      • 同じものをコンテキストによって呼び名が変わるということ
    • p.46 「String.methods で返ってくるもの」=「Stringのクラスメソッド」? (kiwofusi) →○
    • p.52 コラム「定数ツリーの枝刈り」の「枝刈り」とは? →loadのfalseオプションのこと
    • この節から熱い
  • 1.4
    • p.56 「自身のインスタンス変数@xを渡している。このやり方には驚くかもしれない」の驚きを教えてください。 (kiwofusi)
      • クラスではなくインスタンス自体に定義していること
    • 答え合わせ

本日はここまで以下次号(→議事録#3

  • 1.5

    • p.63 「すべてのインスタンス変数はselfのインスタンス変数になる」の意味がわからない(suchi)
    • p.64 「トップレベル」の「mainと呼ばれるオブジェクトの内部にいる」→mainはどこで定義されている? (suchi)
  • 1.6

    • p.68 メソッド探索しているあいだ、selfはbオブジェクトに固定されている、でおk? (kiwofusi)
    • p.68-69 「上記のコードでは、Bookクラスの ancestors() メソッドが暗黙的に呼び出される(中略)クラス定義の中では、クラスが self だから」の意味がわからない。 (kiwofusi)
      • 追記:Bookクラスのなかでancestorsを実行しているが、このancestors = self.ancesotrs = Book.ancesotrs である、ということかな。ancestorsは暗黙的にBook.ancestorsである、と。 (kiwofusi)
  • errata

    • p.63 下から2行目 @val@var
    • p.64 最初の行 testing_sefl()testing_self()

#その他

  • コードは黙読
  • コードブロック説明は?
    • 現状理解できない人は? →いない
    • とりあえず保留

自己紹介

  • @ktachibana
  • @yowasou
  • @kiwofusi
  • @naoya_24

KPT

hamamatsu.rb#2 KPT

Try

  • メタプログラミングRuby継続
    • テキストがんばって入手
    • 予習は必須ですね
    • Wiki事前記入を生かす。識者は回答も考えておく
    • 問題を考えてくる
  • ポジションペーパーをみんな作ってこよう
  • その他
    • ローカルリファレンス → ri/refe
    • 軽食を持ってくる
    • PC持っていない人は持ってる人の近くに

フィードバック

Clone this wiki locally