まつもと ゆきひろです

In message "[ruby-list:7276] Re: 正規表現がおかしい?"
    on 98/03/30, Sinichiro Dezawa <dezawa / miya.fujifilm.co.jp> writes:

|出沢です

|はじめ、 printf の前に   $3.gsub!() して駄目だったのです。

|ならば、 gsub() なら、別の object を返すはずだから良かろう
|
|と思ったのですが、駄目なのですね。

gsubの場合,元の文字列を変更はしないのですが,gsubの内部で正
規表現のマッチが発生するため$4をはじめとするマッチ結果は更新
されてしまいます.

|所でわからなくなったぞ。
|	f = $4
|
|これって、 f はあたらしい object 作るんでしたっけ?

ドキュメントを読んだだけではピンと来ないかも知れませんが,$1
などは毎回新しい文字列を生成します.