前提・実現したいこと
プログラミング初心者でRubyを学習しております。
3の倍数を入力するとFizz、5の倍数を入力するとBuzz、15の倍数を入力するとFizzBuzzと返す
FizzBuzzプログラムを作りました。
これに数字以外を入力すると「やり直してください」というエラーメッセージが出る機能を追加したいです。
該当のソースコード
def fizz_buzz(number)
if number % 15 === 0
"FizzBuzz"
elsif number % 3 == 0
"Fizz"
elsif number % 5 == 0
"Buzz"
else
number.to_s
end
end
puts "数字を入力してください。"
input = gets.to_i
if input.to_s.match?(/[0-9]/)
puts "結果は..."
puts fizz_buzz(input)
else
puts "やり直してください"
end
試したこと
正規表現を調べてmatchメソッドを追加してみたのですが、数字以外の文字を入れてもエラーメッセージが表示されず、「結果は...FizzBuzz」と返ってきます。
ちなみに、数字を入れると正常に動作します。
どなたかご存知の方がいらっしゃいましたら、ご教示お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/10 12:48
2021/05/10 12:54 編集
2021/05/10 13:13