2つの逆引き本「Ruby逆引きレシピ」「Ruby逆引きハンドブック」
最近出版された、2冊のRubyを冠した"逆引き"本。「似たような本で、どっちか買えばいいかな〜」と考えている人もいるかもしれないけれど、ぜんぜんちがう。「レシピ」はプログラムを書く前に見る本、「ハンドブック」はコード書くときに見る本、という位置づけになる。たぶん。
Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)
- 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/25
- メディア: 単行本(ソフトカバー)
- 購入: 16人 クリック: 349回
- この商品を含むブログ (77件) を見る
- 作者: るびきち
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2009/05/25
- メディア: 単行本
- 購入: 24人 クリック: 263回
- この商品を含むブログ (72件) を見る
それぞれを主観満載で紹介しよう。
「Ruby逆引きレシピ」
ええと、この本はマジやばい。すごすぎる。
職場とか学校で、Rubyに詳しい頼りになる先輩がいるっていうのは、こんな感じなんじゃなかろーかと想像する。「こういうことしたいんですけど?」と聞いてみると「ああ、これでできるよ」と一瞬で返ってくるような。
レシピ先輩(仮称)はいろいろなライブラリを知ってる。だから第1章の1.1に書いてあるのはRubyのコードの書き方じゃあなくて、有無をいわさずrubygemsをインストールして使う、ということだ。レシピ先輩はIRCをばりばり使う。だから第6章 ネットワーク処理のはじめは、ウェブじゃなくってIRC BOTのつくりかただ。レシピ先輩はいろいろなコミュニティに参加している。だから最後の第24章で伝えるのはコミュニティに参加する方法だ。
実用的なことで言えば、すでにそれなりの量のRubyプログラムが手元にある人は、導入してみたくなるネタがきっと見つかるはず。「プログラムを書く」ためだけでなく「使う」ためのRubyも充実してるしね。
うまく表現できないけど「Rubyの楽しさ」みたいのをすげー感じるのは、RubyKaigiの会場で購入したからじゃないはず。この本にあるようなことに広く通じた技術者ってのは、問答無用にかっこいいのだ!
「Ruby逆引きハンドブック」
この本の特長は、もはやリファレンスなんじゃないかと思える網羅性の高さ(1.9にも対応!)とていねいな解説がまっさきに挙げられると思うけど、個人的にはもくじの「ONEPOINT」「COLUMN」のタイトル付けの的確さを主張したい。著者のるびきちさんのとこにもくじの全項目があるので、ちょっと見てほしい。
http://d.hatena.ne.jp/rubikitch/20090525/rubybook
具体的なコードになってくるCHAPTER 05以降は、各節のタイトルがやりたいこと、ONEPOINTがその方法、という構造になっていることがわかる。Rubyでのコーディングに慣れてくると、もくじがチートシートのように利用でき、各ページを開かなくてもよくなるようになるのだ。
ここでは例として、比較的短い「CHAPTER 09 時刻と日付」のぜんぶを抜き書きしてみよう。
CHAPTER 09 時刻と日付
http://d.hatena.ne.jp/rubikitch/20090525/rubybook
185 現在時刻・日付を求める
ONEPOINT 現在時刻・日付を得るには「 Time.now 」や「 Date.today 」を使用する
COLUMN 特定の時刻・日付を得るには「 Time.local 」や「 Date.new 」を使用する
186 時刻・日付から情報を抜き出す
ONEPOINT Time ・ Date から情報を抜き出すには時間の単位名のメソッドを使用する
COLUMN 他の情報を抜き出すには
187 時刻・日付をフォーマットする
ONEPOINT Time ・ Date をフォーマットするには「 strftime 」メソッドを使用する
COLUMN 曜日の名称などを日本語にする
188 文字列から時刻・日付に変換する
ONEPOINT 文字列を解析して Time ・ Date に変換するには「 parse 」クラスメソッドを使用する
189 時刻・日付を加減算する
ONEPOINT 時刻・日付の計算をするには加減算を使用する
「ONEPOINT」が答えそのものになっていることがわかるよね。実際の書籍では、もくじのONEPOINTのとこだけ赤になっていて、より分かりやすくなっている。
もし第二版がでるときには、もくじと同内容の小冊子を付録として付けると良いと思うのだよ(コストの関係で難しいかもしれないけれど)。すると、ふだんは小冊子をクイックリファレンス的に見て、わからないときに書籍を開く、という使い方もできるしね。それまではもくじをカラーコピーして綴じておくのがオススメ。カラーであることがじゅうよう。
ということで、もくじの素晴らしさについてばかり語ったけれど、本文の内容もおもしろい。前から順番に読むより、寝る前とかに拾いよみするほうが楽しさ的にいいよ。