南極の図書館

ペンギンが寝ていた…。

「メタプログラミングRuby」は「自称初心者」こそ読むべき

どこかで、本書は「Rubyの中級者向け」であると聞いたことがある。
私にはまだ早いかな、と思いながらも読み始めたら、P33に「想定読者」が書いてあった。
そこに自己診断がある。

自分の能力に自信がない場合は、以下のような簡単な自己診断をしてみるとよい。
配列を繰り返すのに、あなたならどのようなコードを書くだろうか?


この答えはどんなRuby入門書にも必ず書いてある。つまり入門書を何か一冊でも読んでいれば、本書の「想定読者」に入っている。
もし「難しそうだから読んでない」と敬遠していたなら今すぐ読んで大丈夫、このタイトルに少しでも興味を惹かれるならば、十分に資格がある。
内容も「自称初心者」から見て、ちょうど「そうそう、こういうことが知りたかったんだよ」というものが多い。
例えば、

P46 インスタンス変数はオブジェクトに住んでいる。メソッドはクラスに住んでいる。


知っていれば単純なことだが、私は理解するのにかなり時間がかかった。
初めて「クロージャ」を見たときは、しばらく仕組みが理解できず「クロージャってのはそういうものだから、そう動くんだ」と割り切って考えていた。
何度か使っているうちに理解できたんだけど、この本を先に読んでいれば、この1行を先に読んでいれば、近道ができていたなと思う。


私は「たのしいRuby」「プログラミング言語Ruby」(とRails本いくつか)の後に本書を買ったんだけど、もっと早く読んでも良かったなと思う。
他の言語の経験があるなら、入門書と本書を同時に買って、入門書を辞書にして並行で読むのがオススメだ。


結論として、「メタプログラミングRuby」は評判通りの名著であり、「自称初心者」に強く薦める。