Techioz Blog

ユーザー入力を小文字にすると gsub() がエラーになりやすくなります

概要

ユーザー入力を小文字にすると gsub() がエラーになりやすくなります

print("Favorite Animal: ")
animal = gets.chomp().downcase!
if animal.include?("cat")
  animal.gsub!(/cat/, "dog")
end
print("Your favorite animal: #{animal}")

解決策

細かいマニュアルから:

したがって、小文字にするものが何もない場合は、#downcase!文書化されているように nil を返します。

#downcase の代わりに #downcase を使用したい場合:

animal = gets.chomp().downcase

その動物は小文字の文字列を取得します。