From: matz@... (Yukihiro Matsumoto) Date: 1999-01-25T00:38:14+09:00 Subject: [ruby-dev:4335] Re: signed/unsigned char まつもと ゆきひろです In message "[ruby-dev:4332] Re: signed/unsigned char" on 99/01/23, ARIMA Yasuhiro writes: | 文字コード比較方法を定義できる仕組みがあると便利なんでしょうね。 | "A" を "A" 同一視するようなこともできますし。 | あ、そういう <=> を書いた module を mixin すればいいのか。 ま,そういうのはありえますね. | 話を戻すと、ruby が char 型を使用しているところでは、signed を | 想定しているということだったのですが、負の値を使用する場合を | 想定しているところでは、その型を int か short に変えるというのは | どうでしょうか?char はもっぱら文字列と、バッファ用に用いるという | 考え方です。 | 文字コードのことを考えると、文字、文字列も分けておいた方が | いいかもしれません。wchar_t に倣って、char_t とか^^. というかRubyがchar型をそういう目的で使っているところってない ように思います.あるかな.charをもっとも使っているのは正規表 現ルーチンregex.cですが,これはsignedを仮定してはいるものの, unsignedでも動くはずです.残りの部分はcharのデフォルトは signedを仮定しているものの,比較の場合には(memcmpのような関 数内部での比較は別として)unsignedとなるように多くの場合で明 示的にunsignedと指定して比較してるはずです. まつもと ゆきひろ /:|)