Bruce.です。
即座の返事ありがとうございます.
Yukihiro Matsumoto writes:
> |ただ、エンコーディングごとに「漢字」の範囲が違うとかいやらしいところも
> |ありますがこういう意見もあるということで一つ。
>
> これは多分ユーザメソッドで定義されると思いますから、純粋にそ
> のようなメソッドを用意するかどうかだけではないかと思います。
>
> "abc#{uc"HALFWIDTH KATAKANA KA"}def"
>
> のようなのをイメージしてください。ここではucが(uppercase(大
> 文字)ではなくunicode characterのつもり)文字名から文字を得る
> メソッドになります。
なるほど。
納得しました。
> |あと、これは小迫さんに云うべきことかもしれませんが、Perl 5.8.5から
> |使えるようになった、ユーザー定義の文字クラス \p{...} (...の部分の
> |名前とそれが表す集合をユーザーが定義できる)が欲しいです。
> |鬼車単体では難しいと思うのでまつもとさんにも意見表明。
>
> 鬼車単体では難しいのかもしれませんが、やはり鬼車側がイニシア
> チブをとらないと実現しないと思いますから、小迫さんが見てると
> ころで話すのがよいのではないかと思います。
小迫さんにもどこかで話を切り出そうとは前から思っていて、タイミングを
見計らっていたところなので、小迫さんが見ているところで、というのは
了解です。
#今の ruby-dev の空気の流れだとちょっと切り出しづらいなあとか
小迫さんのはてなのページとか、直メールとかで話を出してみます
(今すぐにはやらないと思いますが)。
> |それから質問が一つ。
> |
> | s = "abc\p{HALFWIDTH KATAKANA KA}def"
> |
> |というASCII文字列があり(\p{…}は半角カナ文字を指定していると考えてください)、
> |tounicode とかいうメソッド(があったとして)を送ると
> |
> | uni = s.unicode
> |
> |その結果はどうなるのでしょうか?
>
> 正直なところ、質問の内容が定かではなくて答えようがないんです
> が、仮定を積み重ねると、"abc\p{HALFWIDTH KATAKANA KA}def"と
> いうものが私の考えているものと同じものであれば、文字列の中に
> 半角カナを含んでいる以上すでにASCII文字列ではないんではない
> かと。その文字列のエンコーディングがUnicode(たとえばUTF-8)で
> あったとするならば、tounicodeメソッドは「なにもしない」んじゃ
> ないでしょうか。
あー要領を得ない質問で申し訳ないです。
Unicodeでない文字列で "abc\p{HALFWIDTH KATAKANA KA}def" と書いたとしても
Unicodeのキャラクタの名前表記は解釈されないわけですよね?(確認1)
で、そのようにUnicode特有のエスケープシーケンス表記(でいいのか?)を
含んだUnicode以外の文字列をUnicodeに変換しようとしたとき、その変換
ルーチンは、エスケープシーケンスをどのように解釈するのか?(確認2)
#上記の返事を見るに「なにもしない」ようですが
ということなんですが、こんどはわかってもらえましたでしょうか?
いじょ。