Project

General

Profile

Feature #546

String#gsub と Strnig#scan のブロックパラメータの一致

Added by iwa (Motonori IWAMURO) almost 12 years ago. Updated over 8 years ago.

Status:
Rejected
Priority:
Normal
Target version:
-

Description

=begin
String#gsub のブロックパラメータの仕様を Strnig#scan のものに合わせることを提案します。

[ruby-dev:33548]からの一連のスレッドではいろいろ案が出たあげく議論が止まっていますが、

・現状の gsub の仕様では、カッコを付けたとき、ブロックパラメータがほとんど役に立たないので困る。
・gsub と scan は似た振る舞いをするので、ブロックパラメータの仕様も合わせるべき。
・scan の仕様で困ることはまずないので、こちらを変更する必然性はあまり無い。
・gsub のパターンにカッコを付けない場合、従来と同じなので互換性に問題はない。
・gsub のパターンにカッコを付けた場合、ブロックパラメータを参照するケースは極めて限定的と思われるので、仕様を変更しても影響は少ないと思われる。

以上の理由により、String#gsub (当然gsub!も) のブロックパラメータの仕様を Strnig#scan のものに合わせるのが、best ではないにしても better であると考えます。
=end


Related issues

Related to Ruby master - Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a StringFeedbackmatz (Yukihiro Matsumoto)Actions

Also available in: Atom PDF