高橋征義です。

matz / ruby-lang.org (Yukihiro Matsumoto)さん:
> |> asciiってのがバイト列用です。もっと適切な別名を付けようかし
> |> ら。bytesとかbinaryとか。
> |
> |「"ascii"がバイナリ」というのはいまいち直感的ではない上に、
> |8bit目がそこはかとなく不安になるので、別名があった方がいい
> |のではないかと思います。bytesでもbinaryでも構いません。
> 
> とりあえずbinaryにしましょう。ctypeとかでalphaとかもなくしちゃ
> いますか? やりすぎ?

これについてなんですが、一つ聞いてみたいことが。

[ruby-dev:13699]で書いた通り、M17N Rubyではマルチバイト文字列
の扱いで過去との非互換性が発生することがあるわけですよね。
このような非互換性については何か指針があるんでしょうか。

もし、「特に指定しなければ極力互換にする」ということにするなら、

 * 特に指定がなければ binary(byte sequence(== ascii(?)))として扱う
 * binaryの場合は、今の非M17N Rubyとできるだけ同じように振舞う

という感じになるんじゃないかと思うのですが、その場合には、
ctypeとかalphaを利用するメソッド(String#upcaseとか?)の挙動も
今と同じであることが期待されるんじゃないかと。……というリクツで、
ctypeやalphaの挙動が決まりませんか?

> |「一番最初の」は、
> |http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/22608
> |の「pragma」でしょうか。
> 
> です。
> 
> #? utf-8
> 
> とか
> 
> #encoding: utf-8
> 
> とか考えられますが。

んー、……悩ましいですね。
一つ思ったのは、この手の指定はeditorと協調してほしいですよね。
世の中のM17Nなeditorで、こういうpragmaっぽいものを使ってる
ものってあるんでしょうか?

高橋征義 (TAKAHASHI Masayoshi)       Email:maki / inac.co.jp