From: Yukihiro Matsumoto Date: 2008-01-20T02:03:06+09:00 Subject: [ruby-dev:33192] Re: Ruby1.9 String バイト列へのインデックス アクセス まつもと ゆきひろです In message "Re: [ruby-dev:33186] Ruby1.9 String バイト列へのインデックス アクセス" on Sat, 19 Jan 2008 23:43:14 +0900, "Hisanori Kiryu" writes: |Ruby1.9のStringクラス(以下S19と略)では、 |Ruby1.8以前のStringクラス(S18と略)での [](idx), []=(idx, value) |のような、Substringを介しないバイトの読み込み、 |書き込みができなくなるのでしょうか? 少なくとも[]で単一バイトを取り出すことはできませんね。実は []=でバイトをセットすることはできるのですが。 で、この件ですが、気がついていないわけではないのですが、 Stringを文字列として扱う場合と、バイト列として扱う場合のどち らが多いかということを勘案して、文字列を優先させました。 で、どのように対処するかですが、将来的には以下の二つのうちい ずれかで対応しようと考えています。 1. バイト列を意味するクラスを別に用意する(Bytes?) 2. バイト列としてのアクセスを許すメソッドを用意する おそらくは(Rubyの大クラス主義に従って)後者になるんじゃないか と思います。じゃあ、なぜ今ないのかというと、良い名前が思いつ かなかったからです。 たぶん、特定の位置のバイトを読んだり書いたりできれば良いのだ と思うのですが、なにかそれぞれにふさわしい、簡潔(できれば)か つ適切な名前がありませんかね。 まつもと ゆきひろ /:|)