From: nagai@... Date: 2000-11-13T15:27:14+09:00 Subject: [ruby-dev:11493] Re: Ruby I18N 永井@知能.九工大です. From: matz@zetabits.com (Yukihiro Matsumoto) Subject: [ruby-dev:11415] Re: Ruby I18N Date: Wed, 8 Nov 2000 01:10:53 +0900 Message-ID: matz> |このような状態のものは受け入れがたいというのが私の気持ちです. matz> となると、どういう状態のものならば受け入れられますか? matz> ISO 2022? 変化する前の ISO 10464? matz> それを現実にするためにはどうしたら良いと思いますか? 「どのような文字コードなら」という意味では,正直なところ,わかってません. ただ,「どのような文字コードでも」容易にサポートできるようにしておけば, 今後どのようになっても支障は出ないのだろうなとは思ってます. 元々良く分かっておらず,しかも週一程度しか反応できない状況で 首を突っ込んだこと自体が間違いだったような気がしますが, おぼろげに考えていたこととしては, ・各文字コード系は String クラスのサブクラス. ・文字列間の演算には,文字コード変換のために coerce のような仕組みが必要. to_charcode(code) のようなメソッドでもこの仕組みを使う? ・IN/OUT のような状態推移があるコードも扱えるようにするなら, 文字列比較ルーチンや非冗長化ルーチンも必要? 扱わないなら,文字カウント,文字列切り出しができれば OK ? 扱えるようにするなら,文字列を読み込んだ際に即座に文字単位にばらして キャラクターコードと状態とを持っておくようにした方が効率がいい? その場合,String クラスは,固定バイト幅のデータの並びを扱うものとし, String クラスのサブクラスとして ByteString クラスも必要となる? ・問題となるのはパーサと正規表現. 「これ以降のスクリプトの文字コードは XXX とします」という 指定をするような関数型メソッドが必要か? その場合,文字単位にばらすのを文字コードクラスに依頼する必要あり? 指定がなければこれまで通りとすれば互換性に問題無しか? 固定バイト幅のデータの並びを扱うことにしておく方が 正規表現のマッチング処理は作りやすいか? というような感じです. 話のスピードについていけてないので, 真っ当な提案や議論ができずにすみません.(_O_) -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp