メタプログラミングRuby 第2版 を読んだ

なぜ読んだか

いつかは Railsプラグイン的なものも作ってみたい。興味のあるライブラリのコードを読んだりしているけど、同じようには書けそうにないし、もう少し基礎を身につける必要があると感じていた。

どうだったか

Ruby のオブジェクトモデルについて理解が深まった。オブジェクトモデルとは、この本によると、オブジェクト、クラス、モジュール、インスタンス変数といった言語要素が共存しているシステムのことで、「このメソッドはどのクラスに所属するものなのか?」「このモジュールをインクルードしたら何が起きるのか?」といった質問の答えが見つかる場所ということであった。メタプログラミングというのは、こうした言語要素を操作するものなので、これらについて知っておかねばならないという。

普段コードを書いたり、読んだりしているときも、この場所の self はなんだろう?などと考えることが増えてよい影響を受けている気がする。

全体的に読みやすい文章でおもしろくて、サクサクと読み進められた。知的好奇心をくすぐられた感じがした。

これから

  • 実は パーフェクトRuby にもメタプログラミングの章があって既読だったんだけど、それほど身についていなかったかもしれない。いま読み返せば、もっと深く理解できそうな気がする。
  • コードを書くぞ

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版