中級 › gsub! は置換が発生しないと nil を返す(gsub との違い) › パターン2
gsub! は置換が発生しないと nil を返す(gsub との違い)
破壊的メソッドのgsub!やsub!は、置換対象が見つかって実際に変更が起きた場合は変更後の文字列を、何も置換されなかった場合はnilを返します。
1 word = "ruby" 2 result = word._____("z", "q") ^ 3 puts result.length
main.rb:3:in `<main>': undefined method `length' for nil (NoMethodError)
空欄を埋めて実行を通す
置換対象が見つからなかった場合、gsub!は変更前の文字列すら返さずnilになります。
次の問題