「メタプログラミングRuby」感想

読みました。

メタプログラミングRuby

メタプログラミングRuby

  • クラスの再オープンによる既存クラスの変更や機能の追加、
  • コードの実行時に呼び出すメソッドを決められるsend、
  • 定義されていないメソッドを処理するためのmethod_missing

等々、どれもすごい威力でした。まさに魔術!

その分使い方を誤ると、メンテナンス不可能コードにも発展しがち。 その点は本書でも紹介されていた、Matz氏の言葉にもある通り「Rubyは"使う人を信じる"」がポリシーだからこそできる柔軟性なんだろうなと思いました。Rubyっておもしろいなーとつくづく感じながら読めました。

でも後半の特異クラスあたりは挫折してしまったので、またどこかで読み直したいなと。。

本書の流れについて、2人の登場人物が章ごとにその日の課題を受け取り、解き方の検討(考え方の解説)、問題を共に考え、最後に回答(解説)を読ませる流れになっているから、「~な問題」、「~なコード」にぶち当たった時はこんな解き方がある!と頭に入りやすく、苦手な大型本だったのですがとっても読みやすかったです。

固い?安全な?コードが書きたい人も、オープンソースやライブラリで他人が書いた魔術を読めるようになるためには本書はお勧め。