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
| 固定リンク | 0
「IT関連情報」カテゴリの記事
- IOC List v13.1 Released(2023.02.04)
- Refsort/Ruby v3.75 released(2023.01.29)
- やっと買い場がやって来る(2022.12.10)
- Windows 11 にアップデート(2022.12.07)
- 20 年選手の ONU が壊れた(2022.11.04)
コメント