中級 › gsub! は置換が発生しないと nil を返す(gsub との違い) › パターン4
gsub! は置換が発生しないと nil を返す(gsub との違い)
破壊的メソッドのgsub!やsub!は、置換対象が見つかって実際に変更が起きた場合は変更後の文字列を、何も置換されなかった場合はnilを返します。
1 note = "memo" 2 result = note._____("x", "y") ^ 3 puts result.capitalize
main.rb:3:in `<main>': undefined method `capitalize' for nil (NoMethodError)
空欄を埋めて実行を通す
gsub!の戻り値は「変更があったかどうか」を表す設計で、変更が無ければnilになります。
次の問題