« T + B > D | トップページ | 夏になってきた »

2022/07/07

Refsort v3.72 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.72 をリリースしました.今回の改訂はバグの修正と,例外処理の若干の簡素化です.

まずバグの修正について.Refsort は --output, -o オプションで出力するフィールドを自由に選択できるのですが,出力のフィールド区切り記号そのものが含まれているフィールドは二重引用符で囲んで出力するようにしています.これは出力の再利用を容易にするためで,ある意味必須の機能です.例えば出力の区切り記号が空白の場合,フィールド内部に空白があるとそのフィールドを二重引用符で囲みます.例えばこんな感じ.

A B "C1 C2" D E

このフィールドを再び Refsort で読み込むと,フィールド分割を { } で示すことにすれば,

{A} {B} {C1 C2} {D} {E}

という具合に正しくフィールドが分割されます.

ところが,フィールド内に二重引用符自身が含まれていると,二重引用符自身をエスケープしてやらないと再利用するときのフィールド分割がうまく行かずに困ったことになってしまいます.しかしこれまで二重引用符のエスケープは放置されたままというバグが残っていました.

今回,二重引用符で囲まれたフィールド内の二重引用符は CSV の習慣に従って二重引用符自身でエスケープする,つまり二重引用符を2個連ねることでエスケープすることにしました.つまりこんな感じに出力されます.

A B "C & ""Special""" D E

これを再利用時に Refsort で読み込むと,

{A} {B} {C & "Special"} {D} {E}

という具合に正しく分割されます.

もうひとつの改訂は --didyoumean, -y--fullsearch, -Y オプションを使ったときのメッセージに,正解候補の文字列だけではなく,その候補が辞書ファイルの何行目にあるのかを示すようにしたことです.例えばこんな感じの出力が得られます.

!I 16: "オオタグロカモメ" not found in jpblist_v70p5w.ref
  Did you mean? "オオズグロカモメ" at R 698
               "オオセグロカモメ" at R 716

Refsort/Ruby とそれに関連するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v372.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは US-ASCII ですので,そのままでよいでしょう.現時点でユーザーズガイドは未改訂ですが,IOC List v12.2 が公開された後で,その内容を反映させたものをリリースする予定です.

| |

« T + B > D | トップページ | 夏になってきた »

自然」カテゴリの記事

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

科学」カテゴリの記事

コメント

コメントを書く



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




« T + B > D | トップページ | 夏になってきた »