From: matz@... (Yukihiro Matsumoto) Date: 1998-04-13T11:07:38+09:00 Subject: [ruby-dev:2262] Re: [ruby-list:7407] Re: string replace まつもと ゆきひろです In message "[ruby-dev:2241] Re: [ruby-list:7407] Re: string replace" on 98/04/12, KANEKO Naoshi writes: |金子です。 |そもそも ruby は perl の影響をうけ、perl を参考に作成された機能 |が数多くあるわけで、その場合、意図的に仕様をあわせるように設計 |されているらしいというのは分かります。 |ですから、perl の機能によく似ているものは、できればまったく同じ |なのが望ましいというのも分かります。 えーとですね.sub/gsubに限って言えばその名前からも推測できる ように起源はperlではなく,awkです. ですから,perlと全く同じ仕様というのはあんまり意味無いです. |極悪なシフトJISには文字コード中に \ が含まれているのです。 | |Windows では | | print 'a'.sub('a', '表1') | |が処理できません。 |もちろん、コード系の依存の問題は言語の問題とは別のものなので、 |必要なら jcode などで処理する話なのですが、速度的な問題もあり |ますので、意識しないですむなら、その方がうれしいですね。 |# 0x40 未満がメタ文字なら OK。 これはrubyの方で対応すべきだと思います. パッチを付けておきます. diff -u -1 -r1.1.1.2.2.15 re.c --- re.c 1998/04/09 10:10:09 1.1.1.2.2.15 +++ re.c 1998/04/13 02:06:49 @@ -885,2 +885,6 @@ c = *s++; + if (ismbchar(c)) { + s++; + continue; + } if (c != '\\' || s == e) continue;