From: KIMURA Koichi Date: 2005-07-12T10:20:34+09:00 Subject: [ruby-dev:26522] Re: can't handle \c\ 木村です。 On Mon, 11 Jul 2005 22:35:14 +0900 KIMURA Koichi wrote: > 木村です。 > > K.Kosako さんは書きました (2005/07/11 21:06): > > perlの仕様はどうなっているのか > > 気になったので動かしてみたのですが、 > > なんだかよくわかりませんでした。 > > > > /\c\/, /\c\\/がエラーで、/[\c\]/はOK。 > > 断言できないのですが、バグってるみたいです。 > 文字列リテラルとしては書くことができませんし。 調べてみました。 バグですね。文字列リテラルや正規表現リテラルをスキャンする ルーチン('{'などをデリミタにしたときの処理など)で\cXを特別 扱いしていないために、\c\の二番目の'\'が通常のものと同一視 されています。 で、Perlの事だけ書いてもしょうがないので。 Perlでは、(文字クラスを使ったときの記述でわかるように) \c\\ ではなく \c\ という記述になります。Perlとの互換が最重要という わけでもありませんし、これまでのRubyの文字列リテラルでは\c\\ という表記で記述できていたわけですから、\c\\ という路線でいい と思います。 #Perlのこのバグ報告すべきだろうか・・・ -- 木村浩一