著者:伊藤淳一
CSV: この書籍の引用一覧をダウンロードできます
CSVというファイル形式でダウンロードできます。このデータをExcelに貼り付けると、表にして手元に記録を残せます。
ブロックやProcオブジェクトを渡せるようなメソッドを定義すると、定型的な処理の一部に対して外部からカスタマイズ可能な振る舞いを組み込むことができます。
このように、オブジェクトのクラスが何であろうとそのメソッドが呼び出せればよしとするプログラミングスタイルのことを「ダックタイピング(duck typing)」と呼びます。これは「もしもそれがアヒルのように歩き、アヒルのように鳴くなら、それはアヒルである」という言葉に由来するプログラミング用語です。
インスタンスを初期化するために実行したい処理があれば、このinitializeメソッドでその処理を実装します(とくに必要がなければ定義しなくてもかまいません)。ほかのプログラミング言語の経験者であれば、コンストラクタのようなものと考えるとわかりやすいと思います。
また、テストコードを書いてからデバッグすれば、デバッグの修正と同時にそのロジックのテストコードができあがります。なので、プログラムにほかの修正が入った場合でも、そのテストコードを実行すればそのロジックが壊れていないことを保証できます。デバッグの時間を短縮できる、できないにかかわらずテストコードを書いておくことは非常に良い習慣だと言えるでしょう。
Rubyはオブジェクト指向言語です。文字列や配列はもちろん、数値やnil(ほかのプログラミング言語でいうところのnull)も含めて、すべてがオブジェクトになっています。その証拠に数値やnil、trueやfalseに対してもメソッドを呼び出すことができます。
if文の条件節で「真であること(もしくは偽であること)」を判断するために、== trueや== falseと書く人がいますが、これは冗長な書き方なのでやめましょう。