まつもと ゆきひろです
In message "[ruby-list:9291] Re: 正規表現"
on 98/08/27, OHARA Shigeki <os / iij.ad.jp> writes:
|大原です。
|> Perlにおいても"."は"\n"にはマッチしないのがデフォルトで、perl5から/sオ
|> プションでそれが変更できるようになった、のだと思います。
|
|これなんですが、$/ の内容によって挙動が変化するようになると
|いいように思います。
うーん,もうちょっと詰めないと結論を出せないとは思いますが,
このアイディアには否定的な印象を持っています.理由は
* $/というグローバル変数によって変更する挙動は少ない方がよ
い(増やしたくない).
* 増やすにしても別の方法でも指定できるようにしたい(たとえ
ばgetsが引数で指定できるように).
* .が\nにマッチすると言うことは "abc\ndef" に対して $ はc
の後ろには決してマッチしないことを意味するが,これは
input record separatorである$/とは直接の関係が薄いように
感じる.
からです.
あ,そうそう.もともとの稲葉さんの発言である
|> Perlにおいても"."は"\n"にはマッチしないのがデフォルトで、perl5から/sオ
|> プションでそれが変更できるようになった、のだと思います。
ですが,実際にはPerlにおけるデフォルトは昔から . は \n にマッ
チするという動作だったと思います(1文字列は1行だと仮定して高
速化している).この挙動はPerl4以前は $* で指定していましたが,
Perl5からは正規表現毎に独立して指定できるようになったのだと
思います.
まつもと ゆきひろ /:|)