Refsort/Ruby v3.71 released
辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *5 *5)の改訂版 v3.71 をリリースしました.今回の改訂は先月リリースした v3.70 に残っていたロジックの不備を補うもので,機能的な変更はありません.
前回の改訂でコマンドライン・オプション "-E, --encoding" を導入しましたが,BOM によるエンコーディング設定との整合性が十分に取れておらず,エンコーディングの優先順位が混乱していました.今回の改訂はその優先順位を整理し,それに基づいて警告文を出す条件と文言を改めたものです.改めて書くと,エンコーディングの優先順位は
BOM > 埋め込みオプション > コマンドライン・オプション > ロケール
となります.辞書ファイルや入力ファイルで BOM が検出されれば,それに従ってエンコーディングが(実質的には UTF-8 に)設定されます.BOM がない場合,埋め込みオプションがあればそのエンコーディングが使用され,埋め込みオプションも無くてコマンドライン・オプションがあればそれが使用され,エンコーディングに関するオプションが何も指定されていなければデフォルトのロケールが使用されるということになります.
新設したコマンドライン・オプションは,辞書ファイルと入力ファイルの両方に有効な “共通エンコーディング” という概念を作ります.すると,辞書ファイルと入力ファイルが同じエンコーディング(ロケールと異なっていてもかまいません)で書かれてさえいれば,コマンドライン・オプションを付けて実行するだけで,自動的に入力ファイルと辞書ファイルの両方にそのエンコーディングが設定されます.このとき,辞書ファイルに埋め込みオプションが書かれていれば,優先順位によって共通エンコーディングは上書きされますが,それがコマンドライン・オプションと同じであれば問題は生じません.
エンコーディングをどのような手段で指定しようとも,辞書ファイルと入力ファイルのエンコーディングは同一でなければなりません.これが一致していなければ Refsort はエラーを吐いて停止します.従ってユーザーは自分がどのエンコーディングを選択しているのか,よく意識する必要があります.これはロケールの中だけの世界では注意する必要が無かったことです.
Refsort/Ruby とそれに関するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v371.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは US-ASCII ですので,そのままでよいでしょう.ユーザーズガイドも若干改訂されています.
| 固定リンク | 0
「自然」カテゴリの記事
- ガガンボ(2025.06.05)
- 強風の五月晴れ(2025.04.27)
- コガモとアカメガシワ(2025.04.26)
- ムナグロ御一行様お着き(2025.04.26)
- フジが満開(2025.04.24)
「IT関連情報」カテゴリの記事
- IOC List v15.1 Released(2025.03.12)
- 日本鳥類目録第8版に準拠したRefsort/Ruby用辞書ファイル(2024.10.13)
- Windows11 24H2 にアップデート(2024.10.05)
- IOC List v14.2 Released(2024.08.27)
- Ruby を自力ビルドしてみた(2024.07.25)
「科学」カテゴリの記事
- 鳥の飛行力学 入門 第 2 版(2025.06.07)
- 「鳥の飛行力学 入門」書きました(2025.03.15)
- IOC List v15.1 Released(2025.03.12)
- ナガサキアゲハ(2024.10.16)
- 日本鳥類目録第8版に準拠したRefsort/Ruby用辞書ファイル(2024.10.13)
コメント