String.gsub での$
しらなかったんだけど、String.gsub の第二引数で $<数字> は使えない。
理由は gsub の時点ではまだマッチまではしていないかららしい。
$<数字> を使いたい場合はブロックを使えばよいらしい。
str = "abcdefg" str.gsub(/([cde]+)/) { $1.upcase } # => abCDEfg
しらなかったんだけど、String.gsub の第二引数で $<数字> は使えない。
理由は gsub の時点ではまだマッチまではしていないかららしい。
$<数字> を使いたい場合はブロックを使えばよいらしい。
str = "abcdefg" str.gsub(/([cde]+)/) { $1.upcase } # => abCDEfg