たまたま?
1.9.2 もでたのでいい加減 1.8.7 から普段使いを移そうと思い、普段使っているものを試している。ほとんどは、マジックコメントをいれれば済む程度なのだけれど、なんだかエラーが出たので調べていて、いまさらながらの事態にびっくりした。
incompatible character encodings: Windows-31J and Shift_JIS
ということで、はじめは coding: SJIS にしていたのを(きむらさんの意見をとって cp932 にしていたはずなのに?)、Windows-31J にしたらひとまず動作したので、よしよしなどと思っていて結果を見たらとんでもないことになったのだった。
str.tr!("ァ-ン", "ぁ-ん") なんてことが 1.8.7 では期待したとおりに動作していたのだけれど、1.9.2 でやったら”も”の後あたりからおかしなことになってしまう。結局、あとになって「Ruby レシピブック 第2版」を見ていたら、
trメソッドはマルチバイト文字に対応していません。(P.86)
との記述が・・・。
そもそも期待通りに動作していたことのほうが、たまたまだったのだか、なんだったのだか。とにかく、これはいけないということで、なんだか久しぶりにコードを書いてみているという。ひとまず「ひらがな・カタカナ」の相互変換はできるようにしたのだけれど、もう少しだなあ。
#それともそんなものはもうどこぞにある、なんてことだったりして。ま、折角なので学習、学習。
| 固定リンク
« しあわせ猫ちぐら | トップページ | 不正 »
コメント