いまテキストコンバートの為のツールを作成している。
必要となるファイルが沢山あるので、
処理の定義ファイルを作成することにした。
入力はこれで、出力がこれで、参照がここで、
って感じで定義する。
ここで悩んでいるのが、定義ファイルの扱いだ。
一気に読み込んで、閉じて(重要)、処理を行うか?
逐次読み込んで、インタプリタ形式で処理を行うか?
前記はファイルを閉じるので、処理の区切りがキレイだけど、
定義ファイルの内容を全部覚えなければイケない。
コンパイル形式にして内容をコンパクトにする事も可能だけど、
そこまで時間を掛けるのも・・・
後記はファイルを閉じないので、ちょっと区切りが悪いが、
まあ、外に出すツールではないし・・・
自分のみしか定義ファイルを触る訳ではないので、
トラブルもないだろうし・・・
そう考えると後記のインタプリタ形式しか選択肢は無いね。
※インタプリタ形式で問題なのは、
定義ファイルを読んで、実行中に定義ファイルを更新すると、
処理がおかしくなることがあること。
バッチファイル等でよく起こる問題です。
ファイルポインタでファイルの位置を覚えているからですね。
自作でツールを作るなら、ツールでオープンした時に、
内部的には一気に読んでしまうとか、
ロックを掛けて更新させない様にするとか、
テンポラリファイルを用意するとかで回避可能です。
必要となるファイルが沢山あるので、
処理の定義ファイルを作成することにした。
入力はこれで、出力がこれで、参照がここで、
って感じで定義する。
ここで悩んでいるのが、定義ファイルの扱いだ。
一気に読み込んで、閉じて(重要)、処理を行うか?
逐次読み込んで、インタプリタ形式で処理を行うか?
前記はファイルを閉じるので、処理の区切りがキレイだけど、
定義ファイルの内容を全部覚えなければイケない。
コンパイル形式にして内容をコンパクトにする事も可能だけど、
そこまで時間を掛けるのも・・・
後記はファイルを閉じないので、ちょっと区切りが悪いが、
まあ、外に出すツールではないし・・・
自分のみしか定義ファイルを触る訳ではないので、
トラブルもないだろうし・・・
そう考えると後記のインタプリタ形式しか選択肢は無いね。
※インタプリタ形式で問題なのは、
定義ファイルを読んで、実行中に定義ファイルを更新すると、
処理がおかしくなることがあること。
バッチファイル等でよく起こる問題です。
ファイルポインタでファイルの位置を覚えているからですね。
自作でツールを作るなら、ツールでオープンした時に、
内部的には一気に読んでしまうとか、
ロックを掛けて更新させない様にするとか、
テンポラリファイルを用意するとかで回避可能です。