質問するログイン新規登録

Q&A

解決済

2回答

1939閲覧

FizzBuzzに正規表現を追加する

ring34

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2021/05/10 12:29

0

0

前提・実現したいこと

プログラミング初心者で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」と返ってきます。

ちなみに、数字を入れると正常に動作します。

どなたかご存知の方がいらっしゃいましたら、ご教示お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答の取得に失敗しました

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問