Rubyプログラミングで気がついたことなど

Rubyプログラミングメモ


Rubyバージョン1.9で注意すること [090412]

昨日、プログラミングメモのページをRubyで作っている時にエラーが発生しました。次のような表示がメッセージが出てきます。

invalid multibyte char (US-ASCII)

これはバージョン1.9を使った時に現れるもので、1.9ではStringオブジェクトに対しエンコーディングを指定しないと、このように実行時マルチバイト文字に関してエラーが出るようになったようです。

この件に関しては以下の成瀬氏の記事で詳しいので参考にしてください。

http://gihyo.jp/dev/serial/01/ruby/0002

という私は、上記の記事を参考にして次のようにシフトJISを指定してみました。マルチバイト文字の入っているプログラムのなるだけ先頭にこの一行を追加しました。

# -*- coding: SJIS -*-

結果、無事にページを作ることができましたが、上記のようにいきなりエラーとくるのでバージョン1.9使用時には注意が必要です。ちょっとしたことですが、今まで私のようにのんびりRubyを使用しているユーザには驚きでした。

参考までに下記のRuby Freaks LoungeはRuby1.9関連の話題が紹介されていますので目を通しておきましょう。

http://gihyo.jp/dev/serial/01/ruby