module function Kernel.#sub

sub(pattern, replace) -> String[permalink][rdoc][edit]
sub(pattern) {|matched| ... } -> String

$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。コマンドラインオプションで -p または -n を指定した時のみ定義されます。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。今後はより明示的な $_.sub を使ってください。

[EXCEPTION] ArgumentError:
replace を指定しなかった場合に発生します。

$_.sub とこのメソッド sub は以下の点で違いがあります。

  • sub は $_ の値をコピーして、コピーの方を更新し、 $_ に再代入します。
[PARAM] pattern:
置き換える文字列のパターンを表す文字列か正規表現。文字列を指定した場合は全く同じ文字列にだけマッチする
[PARAM] replace:
pattern で指定した文字列と置き換える文字列


$_               # => "testtest\n"
sub(/es/, '!!')  # => "t!!ttest\n"

[SEE_ALSO] String#sub,$_