[Tokyo-pm] Jcode-1.99.04 released -- Now at openlab.jp

Kazumasa Utashiro utashiro @ iij.ad.jp
2005年 2月 15日 (火) 10:20:02 PST


かなりどうでもいいことですが、目に止まったので一応…

       Which is more elegant than;

       $iso_2022_jp = &jcode::convert(\$str,'jis',jcode::getcode(\str), "z");

とありますが、入力コードを指定しないでオプションを与えたい時には、
undef を指示できますし、そうする方が自然です (ただ、陽にドキュメントは
されていませんね)。

それと、変換した結果の文字列は関数値としては返ってきません。

さらに細かくて申し訳ありませんが、$ が抜けてますね。& の有無も統一した
方がいいかな。って、今ごろ言うなって話ですよね、ごめんなさい。始めて読
んだので…

			*	*	*

以下蛇足:

ついでなので、今までちゃんと説明したことがなかったかもしれないので書い
ておきますと、jcode.pl のインタフェースをああいう風にしたのは、

          # converts mailbox to SJIS format
          my $jconv = new Jcode;
          $/ = 00;
          while(<>){
              print $jconv->set(\$_)->mime_decode->sjis;
          }

のようなプログラムを書いて欲しくなかったからです (syntax error になるか
らではありません :)。

おそらく弾さん自身は、実際にはこういうプログラムは書かないんですよ。で
も、少くない数のプログラマは、10000行の中に100行だけ日本語を含むファイ
ルを変換するとしても、こういうプログラムを書いちゃうでしょう。さらに、
日本語を含むファイルが10000個のうちの100個だけだったとしても、同じプロ
グラムで全部のファイルを処理しちゃうかもしれない。桁が1つや2つや3つや4
つシフトしてもきっと同じ。

その時に、何もしないためだけにデータをコピーするオーバーヘッドを想像す
るのは耐えられなかった。というのが12年前の考えです。今でも根本的な考え
方は変わらないかな。富豪理論には反対していません。むしろ支持しています。

--utashiro


Tokyo-pm メーリングリストの案内