Rubyベストプラクティス 第7章 文化の壁を取り払う

第7章は多言語化やローカライゼーションの話題みたいです。さくっと読みたいと思います。「プログラマのための文字コード技術入門」を先に読んでおいて良かった。

  • csv ライブラリの例
  • UCS 正規化方式。内部では UTF-8 に変換して扱う
  • マジックコメントでソースエンコーィングを指定する
  • default_external と default_internal
  • File.read でバイナリファイルを読むのはやめる。File.binread を使う
  • Kernel#open のモードに "b", "wb" を指定すると external_encoding が ASCII-8BIT になる
  • String#ascii_only? が true の時はだいたいそのまま利用できる
  • ruby 1.9環境変数 LANG からデフォルトの external_encoding を決定する
  • 再び csv の例。読み込み時に String#valid_encoding? を利用してマルチバイト文字の文字境界まで読込むメソッド
    • これも組み込みでうまくやってくれるはずのような……
  • ローカライゼーション
    • Gibberish::Simple
      • え、gettext は……?
      • このコードサンプルで「姉ヶ崎寧々」が登場。索引つけるほどのことじゃない!

第7章は読み終わりです。正直この章では時々首をかしげてしまう点もありました。内容が間違ってるとかじゃなくて、主に csv の方策が標準添付ライブラリなので正統派じゃないように思えるところがです。
本書もあと第8章と(長い)付録を残すのみとなりました。付録がかなりボリュームあるのでまだまだ続くと思いますが、そろそろ次の本を選びはじめないと。