青山です。

On Mon, 1 Nov 1999 21:18:44 +0900,
堀川 久<vzw00011 / nifty.ne.jp> wrote:

> >scan(/./)もsplit(//)も、文字列を『1文字からなる文字列』の配列にしてい
> >ます。今のところ、こういう形で日本語を処理するしかないようです。
> 
>  うー,なんか格好悪いです。日本発なのに。

Ruby は組み込みクラスについても好きなように気軽に変更できるという、と
ても大きな特長があります。まずは、手元で、こんな感じで試してみて下さい。

$ ruby -e '
class String
  def [](n)
    self.split(//)[n]
  end
end
p "日本語"[1]
p "Japanese"[1]
'
"本"
"a"

$ ruby -e '
class String
  def [](n)
    self.split(//)[n].unpack("C*")
  end
end
p "日本語"[1]
p "Japanese"[1]
'
[203, 220]
[97]

あるいは [] の置き換えではなく、"日本語".char_at(1) というような感じの
メソッドを追加するという手もありますね。


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp