From: matz@... (Yukihiro Matsumoto) Date: 2000-11-08T03:37:59+09:00 Subject: [ruby-dev:11420] Re: Ruby I18N まつもと ゆきひろです In message "[ruby-dev:11418] Re: Ruby I18N" on 00/11/08, とみたまさひろ writes: |> |個人的には String の下位クラスを作るのが単純で速くていいと |> |思いますけどね。破壊的にコード変換をしなければクラスを |> |差しかえたりする必要もないし… | |> しかし、そうするとstring.cのほとんどコピーが各文字コード系毎 |> に発生することになりそうなんですよねえ。 | |string.c をもうちょっと汎用的にして、言語に依存する部分を他に出す |ってのはどうでしょう? 私はそのつもりでした。途中「処理モジュール」とかいうような用 語で呼ばれていたものが、 | #define MBMAXLEN n // 1文字の最大バイト数 | #define ismbchar(p, e) // char* p にある1文字(eを超えない)のバイト数 | #define ismbhead(c) // char c はマルチバイト文字の先頭バイトか? | #define mbcharlen(c) // char c で始まる文字のバイト数 というようなものの集合であるとイメージしてました。 が、それは「String の下位クラスを作る」ことと矛盾しそうで、 「String の下位クラスを作る」ならば「string.cのほとんどコピー が各文字コード系毎に発生することになりそう」という意図だった のですが。 |言語によっては、単純なバイトコード順じゃないソートをする必要があるのも |あるみたいで、独自のソート関数を ctype-***.c に記述することができるように |もなっています。 | |以上ご参考まで…。 MySQLも参考にさせてもらおう。 まつもと ゆきひろ /:|)