search
LoginSignup
1

More than 1 year has passed since last update.

posted at

Ruby:FizzBuzzプログラムを作ってみた!

最初に

カレンダー企画2020の13日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。

FizzBuzzプログラムを作ってみた

個人的な復習の為に再度作成してみようと思います!

条件

  • 3で割り切れる数値を引数で渡すと、[Fizz]を返す
  • 5で割り切れる数値を引数で渡すと、[Buzz]を返す
  • 3と5の両方で割り切れる数値を引数で渡すと、[FizzBuzz]を返す
  • その他の場合は引数を文字列にして返す

今回はgetsメソッドを使ってキーボードに入力できるようにする(数字以外の入力は除く)

demo_fizz_buzz.rb
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

puts "結果は!?"
puts fizz_buzz(number)

こんな感じになるはず!(他にも答えの記述はあるかもしれないです!)

fizz_buzz(number)メソッド名と引数を設定する。
if文を使って条件をクリアしていく。
条件に対しての戻り値を処理として記述をしてメソッドは完成!!

ちゃんと条件にあった型変換も忘れずに行っておく。

if文の中身で最初に「3と5の両方が割り切れる」条件を書くこと!
理由は処理の順番にある!上から順に処理をされるので、
「3か5片方が割れる」条件を先に書くと「両方割れる」条件が一向に引っかからなくなってしまう^^;

ここだけ気をつければ完成できる!

最後に

私はまだ理解していない頃、この順番を間違えていて完成できずに悩んでいました、、、^^;

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1