HSPでのアプリ開発…
ここ最近はメインの仕事の合間にWindowsで動作するフリーのインタプリタ型プログラム言語「HSP(Hot Soup Processor)」で開発したテキスト整形アプリの調整を行っております。過去のテキストファイルを引っ張り出してきて、これまでの整形パターンとは異なる処理が出てきた場合は、整形ルールを記述した外部ファイルにパターンを書き込む…という作業。非常に面倒な行程なのですが、少しでも手作業を省力化するためには避けて通れぬ部分でもあります。今日はそのお話。
何にしても、冬をのぞきほぼ毎日使うアプリケーションのため、スムーズな処理ができなければ手作業でその部分を修正しなくてはならなくなります。そんなことでは大いにストレスが溜まりますからね。ここは頑張って開発しておかねばなりません。
現在の仕様では、新しい整形ルールが出てきた場合は以下のように処理しています。
変更対象の文字列#変更後の文字列 ※ここでの#は区切り文字として使っております。
例えば、テキストの中に【】でくくられた文字列が出てきた場合は、<h2></h2>で囲むとか、■が出てきた場合はその前に<br />を付けるとか、そんな感じです。それをアプリケーションと同一ディレクトリ内にある設定ファイルにこんなふうに書き込むのです。
【#☆すみかっこおこし☆ ☆すみかっこおこし☆#【<h2> 】#☆すみかっことじ☆ ☆すみかっことじ☆#】</h2> ■#☆しかく☆ ☆しかく☆#<br/>■
上のテキストで「【」を一度で変換せずに一端「☆すみかっこおこし☆」みたいなものを置き換えているのには理由があります。このテキストはプログラム内で読み込んだ後、「#」で前後に分割し、左側の文字列が見つかったら、それに対応する右側の文字列に置き換える自作モジュール命令にて処理しているのですが、自作モジュール命令はその文字列がある限り連続で動作する仕様のため、無限ループにならぬよう、一端置き換えているのです。通常の文字列の中に「☆すみかっこおこし☆」みたいな言葉はない想定でやっております。今まで出てこなかった言葉なので大丈夫のはずですけれども(笑)。