これは指定した書式で対応したものを変数に入れてくれるというもの。ように配列に代入していく。してくれるんじゃないかと。うん、この処理を無くしても期待通りの結果になった。もうけた!(うんこの処理を無くしても期待通り!うほっ!アッー!)正規表現オブジェクト(?)も手動で開放してやらないといけないんだね。時間のかかったところ。言語には便利なライブラリが存在しないのだそうだ。使うのは怖いのでここのものを利用させてもらった。他の言語でやっているのと同じようにした。使って文字列比較という方法。言語的に良い方法なのかは知らない。受け取ることができるのだけれど、いろいろとエラーが......。エラーの内容はよくわからないけれども「実行時にわかるからうんぬん」と言っているような気がする。関数の中に入れたらビルドは通るようになった。実行してみるとパスが通っていない。実は文字列のコピーは基本参照渡しなので、他のところから変数を触るとそれが変更されてしまうみたいだ。ようになってしまうのだった。使ってパスをコピーすることで解決した。getenv("MTODIR"));部品を組み合わせて実行とりあえず完成したので、他のスクリプトで出力したものと結果を比較してみた。言語で実装した方に置換できていない部分があったのだ。いうことだろう?生成される内部辞書については同じものができているので、置換する処理がおかしいということになる。置換されなかった部分も、読み込ませる文字列の長さを短かくしてやると置換される。漢字置換の方は問題なかった。一部置換されない箇所が生じる原因がわかった。バッファ量が少なかったのだ。そのため文章が途中で改行されたのと同じ状態となり、検索でヒットせずまた置換されなかったという訳だ。このプログラムのアルゴリズム的に一行が分割されるとダメなんだわ。実装できたのでベンチマークをする。かかってしまっている(参考)。使ってないのはすごい。時間がかかるので読み込ませるファイルは小さいやつにしておこう。遅いという訳ではなさそう。置換する部分が遅いというわけだわ。