« 梅雨が戻った? | トップページ | IOC 鳥類リスト v2.7.3 日本語版リリース »

2011/07/31

Refsort/Ruby 2.16 リリース

機能追加は止めているので,細かなバグフィックスだけが残っていると思っていた自作ソフトの Refsort/Ruby ですが,新しい辞書ファイルをリリースしようと準備をしている最中に重大なバグを発見!何と埋め込みコメントが誤動作するではありませんか!埋め込みレベルが1ずつ増減する辞書ファイルであれば問題ないのですが,埋め込みレベルが2の次に4に飛んだりすると,うまく動作しない場合があるのです.これは大ショック.

ちなみに,Refsort/Ruby とは,辞書ファイル参照型のソーティングフィルタです(例えば,*1 *2 *3 *4 などを参照ください).つまり,並べ替えの基準となる辞書ファイルをユーザがあらかじめ準備し,入力行を読み込んで辞書ファイルの順になるように並べ替えてくれるものです.ツールとしては汎用的なものですが,私は特に鳥類分類学に応用し,そのための辞書ファイルも作成してます.プログラミング言語として Ruby を用いているので,Refsort/Ruby と命名しています.

急きょ,休日の全てを費やしてバグ潰しに取り掛かりました.ところが,何と情けないことに,相当昔に書いた部分のバグなので,基本的なアルゴリズムの発想が作者の私自身でも読み取れません.しかも,配列ハッシュを同時にとっかえひっかえ使うようなデータの扱い方をしていて,我ながら非常に理解しにくい.何度もスクリプトを読んで理解しようとし,バグ検証用の辞書ファイルを用意したりして,ようやく潰すことができたと思います.しかし,スクリプトを十分に理解できていない部分もあるので,まだちょっと怪しい・・・

当初の誤った動作は起こさなくなったので,一応リリースしたいと思います.間もなくアップロードする IOC World Bird List v2.7.3 の日本語版と合わせて使うと,Refsort/Ruby の容量やスピードを楽しめます.10,000種以上の並べ替えが1秒以内で終了するのは快感です.Ruby 自身はできるだけ最新の v1.9.2p290 をお使いください.

| |

« 梅雨が戻った? | トップページ | IOC 鳥類リスト v2.7.3 日本語版リリース »

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

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: Refsort/Ruby 2.16 リリース:

» Refsort/Ruby 2.20 リリース [望湖庵日記 Lakeside Diary]
7月末に v2.16 をリリースして,もう直すところはほとんどない,などと傲慢なことを言っていると,痛いしっぺ返しが来ました.今回も,新しい辞書ファイルを準備していて思わぬバグに遭遇し,あわてて修正を施したものです. 今回の修正はかなり根本的な部分で,何と入出力のエンコーディングの方針の変更です.これまでは,内部エンコ... [続きを読む]

受信: 2011/09/18 15:59

« 梅雨が戻った? | トップページ | IOC 鳥類リスト v2.7.3 日本語版リリース »