From: Yukihiro Matsumoto Date: 2008-01-20T03:58:32+09:00 Subject: [ruby-dev:33196] Re: Ruby1.9 String バイト列へのインデックス アクセス まつもと ゆきひろです In message "Re: [ruby-dev:33195] Re: Ruby1.9 String バイト列へのインデックス アクセス" on Sun, 20 Jan 2008 03:48:46 +0900, rubikitch@ruby-lang.org writes: |> たぶん、特定の位置のバイトを読んだり書いたりできれば良いのだ |> と思うのですが、なにかそれぞれにふさわしい、簡潔(できれば)か |> つ適切な名前がありませんかね。 | |そのままbyteでいい気がします。 まあ、簡潔ですね。 |s = "abcde" |s.byte(3) # => 100 |s.byte(3, 101) |s # => "abcee" 難点は「s.byte(3,101)」がいまいち「代入感」がないところでしょ うか。文法を拡張して「s.byte(3)=101」を許すようにするかな。 |あるいはBytesクラスを用意してString#byteで作成できるといいかもしれません。 この場合はBytesクラスはメモリ領域をStringと共有するのでしょ うか。それはそれで面白いと思いますが。 |s = "abcde" |s.byte # "abcde"のバイト列オブジェクト |s.byte[3] # => 100 |s.byte[3] = 101 # 破壊的更新 |s # => "abcee" | |インデックスにはRangeも指定できるといいです。 その場合は右辺に文字列(またはBytes)を指定するわけ? そういえば、自分で言い出しといてなんだけど複数形な名前のクラ スってのはいかがなものか。 まつもと ゆきひろ /:|)