« 寄付要請のダイレクトメール | トップページ | Refsort/Ruby 1.31 Released »

2009/06/14

Refsort/Ruby 1.30 Released

馬鹿の一つ覚えのようにメンテナンスを続けている自作ソフトがあります.辞書参照型ソーティング・フィルタの "Refsort/Ruby" です.このブログで最初に紹介したのが2006年8月26日で,その次にアップしたのは2007年5月26日だったので,もう2年以上も前のことです.

このソフトは,Ruby というスクリプト言語のプログラムとして書かれていますが,普通のソーティング・プログラムのように,数値や文字コードの順番に入力されたリストをソートできるだけではなく,あらかじめ準備した辞書の並び順に従って入力されたリストをソートできることが特徴です.例えば,鳥類や植物,昆虫などの名前が任意の順に記載されたリストを,分類学上の順番に並べ替えてくれます.私はバード・ウォッチングのフィールドノートを PC 上で整理するときのためにこのソフトを開発しました.最初の版は MS-DOS 上の C 言語で記述したもので,もうかれこれ20年ほど前のことです.

その後しばらくは放って置いたのですが,PC のハードウェア性能が飛躍的に進歩したために,Perl や Ruby などのスクリプト言語が実用的な速度で走るようになり,C 言語で書いたプログラムを Ruby でスクラッチから書き下ろしました.その際に,スクリプト言語ならではの柔軟性を生かして様々なオプション機能を追加してきました.

ここ数年は Ruby 1.8 系列が安定していたため,Refsort/Ruby も安定していられたのですが,昨年暮れ頃から新しい系列 1.9 がリリースされ,しかもこの系列では言語仕様が大幅に変更になったので,その対応をしたのが今回のリリースです.

これまでの版からの最大の変更点は文字コードの扱いです.これまでの Ruby は漢字コードの種類を起動時オプションや $KCODE という変数で指定していたのですが,Ruby 1.9.1 からは文字列オブジェクトが自らの文字コード情報を保有するという画期的な実装に変更されました.これは他に例を見ない野心的な試みで,多くの柔軟性を生み出すと同時に,プログラマには細心の注意を要求します.この変更を理解し,スクリプトとして実装するためにかなりの時間がかかってしまいました.まだ理解は十分では無いのですが,Refsort/Ruby を動かすための最低線はクリアできたと思いますので,リリースすることにしました.

今回の改訂から,辞書ファイルの冒頭行には使用する文字コードをマジックコメントとして指定することが強く推奨されます.また辞書ファイルと異なる文字コードで書かれた入力を与える際には,入力ファイルの冒頭にもマジックコメントが必要になります.この煩雑さの代償として,辞書ファイルと入力ファイルで文字コードが異なっていても良い,という柔軟性が得られるようになりました.

具体的な運用はこれからなので,しばらく使い勝手を確かめながら,様子を見ることにしたいと思います.最新版のダウンロードはこちらからどうぞ.画面右のサイドバーにもリンクを張っておきます.

Ruby 本体のダウンロードはこちら
Refsort/Ruby 本体: refsort_v130.rb
日本産鳥類: jbird201.lzh
日本産種子植物: jplant053.lzh

|

« 寄付要請のダイレクトメール | トップページ | Refsort/Ruby 1.31 Released »

IT関連情報」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54612/45326214

この記事へのトラックバック一覧です: Refsort/Ruby 1.30 Released:

» Refsort/Ruby 1.31 Released [望湖庵日記]
先週 Refsort/Ruby 1.30 をリリースしたばかりですが,案の定ちょっとした不具合が見つかり,それを修正してだいぶ robust になったと思います [続きを読む]

受信: 2009/06/19 16:08

» Refsort/Ruby 1.32 Released [望湖庵日記]
最近立て続けに修正版をリリースしている(*1 *2)Refsort/Ruby ですが,まだバグが残っていることが発覚しましたので,あわてて修正しました.Ruby [続きを読む]

受信: 2009/07/05 09:50

» Refsort/Ruby 1.33 Released [望湖庵日記]
またまた Refsort/Ruby の修正版(*1 *2 *3)です.バグがいくらでも見つかる・・・(涙)困ったものです.しかし,今回の版ではある程度機能拡張を [続きを読む]

受信: 2009/08/01 15:10

» Refsort/Ruby 1.34 Released [望湖庵日記]
またまたバグが見つかったので Refsort/Ruby の修正版(*1 *2 *3 *4)を出します.もうこれで打ち止めにしたいものです.今回見つけたバグは,変 [続きを読む]

受信: 2009/08/08 16:01

» Refsort/Ruby 2.00 Released [望湖庵日記 Lakeside Almanac]
この数ヶ月というもの,頻繁に改版を続けたり(*1, *2, *3, *4, *5),新しい辞書ファイルをリリースしたりしている Refsort/Ruby ですが [続きを読む]

受信: 2009/09/01 05:00

» Refsort/Ruby v2.10 Released [望湖庵日記 Lakeside Almanac]
2009年に入って,Ruby が 1.9 系列に変わってから,それに合わせて改版を繰り返している Refsort/Ruby (*1 *2 *3 *4 *5 *6 [続きを読む]

受信: 2009/11/03 17:27

» 日本産鳥類辞書ファイル jbird300.ref, jbird204.ref Released [望湖庵日記 Lakeside Almanac]
Refsort/Ruby で用いるための日本産鳥類辞書ファイルの最新版です.この版では,従来無視していた迷鳥や飼育種の篭抜け,また多数の亜種を収録しています.ま [続きを読む]

受信: 2009/11/03 17:34

» Refsort/Ruby 2.16 リリース [望湖庵日記 Lakeside Diary]
機能追加は止めているので,細かなバグフィックスだけが残っていると思っていた自作ソフトの Refsort/Ruby ですが,新しい辞書ファイルをリリースしようと準備をしている最中に重大なバグを発見!何と埋め込みコメントが誤動作するではありませんか!埋め込みレベルが1ずつ増減する辞書ファイルであれば問題ないのですが,埋め込... [続きを読む]

受信: 2011/07/31 10:07

« 寄付要請のダイレクトメール | トップページ | Refsort/Ruby 1.31 Released »