プログラミングRuby読書メモ(2)

半日以上、「プログラミングRuby(ISBN:4894714531)」を読んでいました。今日読んだ所は正規表現が含まれていて、僕は正規表現がとても苦手なので、読むのに時間がかかりました。苦手ってのは慣れていない、という事で、つまりは沢山使えばそれだけ理解も深まるのでしょうけれど、使う機会が余りないのです。で、たまに使いたくなった時には使い方を忘れてしまっている、という忘却曲線悪の典型ですね。
さてさて、今日も、初めて得た知識をリストアップしておきます。*1

  1. nil?メソッド
    • いちいち比較文かかかくて良かったんだ…便利ー。
  2. 正規表現全般
    • これはrubyに限らず、知識として覚えておきたいです。言語によって文法の詳細は異なるみたいですけれど。
  3. 置換
    • sub,gsubの事です。
  4. 可変長引数リスト
    • *hogeとやるだけで、可変長になるのかー。
  5. 引数リストにハッシュの"キー=>値"のペアを直接記述できる
    • いざという時(どんな時だ?)に役に立ちそうです。
  6. ifやcaseは文である
    • 返り値を持つのですね。なんと。
  7. case-when文に正規表現を入れられる
    • てか、whenキーワードの後の比較式とターゲットとは===演算子が適用される、というルールなのですね。(正規表現における===演算子はパターンマッチが定義されている)
  8. forとeachの違い
    • シンプルな話でした。
  9. catchとthrow
    • raiseとrescueだけだと思ってましたorz。
  10. Mixin
    • すげぇー!こいつはすげぇー!説明になってませんが、まあ多重継承に変わる何か、みたいなもんです。eachメソッドを容易してEnumerableをMixinすれば、そのクラスで自動的にmap,include?などが使えるようになるとか、なんかすっごい格好良いんですけれど。Mixinのインスタンス変数名が他のMixinのそれとぶつかった時の問題解決*2がちょっと格好悪いなあとは思いました。

この本も、あと半分くらいです。なんだか濃そうな内容が待っているんですけれど、頑張る事にします。

*1:リストアップしているのは、ただ読んだだけじゃなくて、それによってどんな知識を得たのかを再確認するという意味で結構大事なんじゃないかな、と思っています。脳内インデクシングとでも言えるでしょうか。

*2:ぶつからないようにしろ、というものでしたorz。