Ruby 1.9.1 は 1.8.7 よりはるかに速いのが体感できた

Ruby 1.9.1 が速いという売りなので、なんとか試してみたいと思いました。
Rails 2.3.x で試したが、エラーでうまくいきませんでした。
いろんなサイトを参考しても、コンポーネントの修正方法が分からず、あきらめました。
年末予定している Rails 3.0 のリリースを待つことにしました。

自分の力量では Rails を修正できなかったが、せめて ruby だけでも確認できたらいいなと思い、次の Rubyist Magazine に掲載されたグラフィカルなプログラミングを試してみました。

Ruby ではじめるプログラミング 【最終回】

ruby 1.8.7 では反応が鈍いものの、ruby 1.9.1 で実行すると、ずいぶん速くなったので感激しました。これから Ruby と Rails の発展を期待したいと思います。

しかし、掲載された visualnovel を実行できるようにするため、いくつの修正が必要なので、メモとして残しておきます。

設定&実行方法:

Ruby/Tk 環境を作る を参考に、ActiveStateのサイトからActiveTclバージョン 8.4.x をダウンロード。 環境変数は自動的に設定されるので、手動設定必要なし。
visualnovel.zip をダウンロードして展開する。展開されたディレクトリ下で実行する。

> ruby visualnovel.rb

背景画像は表示されないため、次のサイトを参考に画像出力の部分を修正する。

http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=逆引きRuby/Tk

guiutil.rb の 59 行目を次のように修正

修正前: @img0 = TkPhotoImage.new { file(fname) }
修正後: @img0 = TkPhotoImage.new(”file” => fname)

これで画像が表示されるようになるはず。

ruby 1.9.1 で実行すると、invalid multibyte char (US-ASCII) というエラーが出るので、文字コードを指定して実行する。

> ruby -Ks visualnovel.rb

$KCODE の指定は無効になったので、 guiutil.rb の1行目にコメントを付けておく。

#$KCODE = “S”

ソースコードを UTF-8 に保存し直した場合、次のコマンドで実行する

> ruby -Ku visualnovel.rb

これで ruby 1.9.1 の速さを体感できるようになったと思う。