From: matz@... (Yukihiro Matsumoto) Date: 2000-11-13T02:19:02+09:00 Subject: [ruby-dev:11489] Re: class Character (was: Ruby I18N) まつもと ゆきひろです In message "[ruby-dev:11484] Re: class Character (was: Ruby I18N)" on 00/11/12, Tanaka Akira writes: |ひとつ思いついた効率化は、ひとつの文字列中の文字では文字クラスは一定な |ので、method dispatch を真面目にやらなくてもすむ場合もあるかも知れませ |んね。C から一つの文字列中の文字に関して連続して呼び出す場合の話ですが。 | |あと文字オブジェクトの allocation を避けるなら、かなりどころではなく乱 |暴ですが、self にコードポイントの Fixnum を bind したうえで、文字クラ |スの method を呼び出してもいいかもしれないですね。(無理かも) | |あと、互換性と効率の両面から、String::Byte::Character を Fixnum の |別名にするのはどうだろうか、と思っています。 これらは効率が本当に問題であった時にもう一度考えましょう。特 に前二者はRubyの本質的な構造にかかわるので、できれば採用した くないですし。 |> なにが文字かという合意がとれそうにない |> |> かつ |> |> まつもと(or Ruby)が「これが文字だ」と提供できる見識がない |> |> ということに還元されます。 |これにはなんらかの割り切りが必要です。 | |優柔不断すぎるのは早すぎる決断と同程度にひどい目に合うことが多いので、 |遅すぎない時期にそれなりな実装をしたほうがましです。 この点には同意しますが、今はまだ「遅すぎる」とは思ってません。 私が適切な判断ができる自信が無いうちは「早すぎる」のだろうと 思います。なにが「それなり」が判断できない以上、私には「それ なり」の実装はできませんよね。 ですから、今後とも提案、助言は歓迎します。 |これは、端的にいえば「どこまで覚悟してるんだろう?」という疑問です。文 |字列に関する仮定を「どこまで」捨てるつもりでしょうか、といってもかまい |ません。また、見識のなさを露呈/強制するような実装になるのではないかと |いうおそれ、ともいえます。 というか、標準で提供する文字列処理から「文字」を切り離してし まうことを考えています。つまり、バイト列またはコードポイント 列だけを扱うというスタンスです。そうすると文字列処理は数値の 並びの処理に還元されるので。これが「それなり」ってことなのか しら? |で、どこまで覚悟してます? と迫られると、気が小さいんで(^^;;;)動揺しちゃうんですが、み んなが合意できないことは論点にしないってスタンスで(I18Nは)進 めようと思ってます。全然覚悟してないな。 まつもと ゆきひろ /:|)