LoginSignup
0
1

More than 3 years have passed since last update.

FizzBuzzプログラムを作成してみよう。

Posted at

FizzBuzz問題

  • 3で割り切れる数値を引数に渡すと、Fizzと返す。
  • 5で割り切れる数値を引数に渡すと、Buzzと返す。
  • 15で割り切れる数値を引数に渡すと、FizzBuzzと返す。
  • それ以外の数値は文字列に変えて返す。

FizzBuzzのプログラムを段階的に考えていく。

  • まず整数を文字で出力する。
  • to_sメソッドを使い数字を文字にする。
qiita.rb
def fizzbuzz(i)
    i.to_s
end
puts fizzbuzz(1)
#数値が出力される
qiita.rb
def fizzbuzz(i)
    if i % 3 == 0
        "fizz"
    else
        i.to_s
    end
end
puts fizzbuzz(1)
puts fizzbuzz(3)
#1とfizzが出力される
  • 次に5で割れる数値の時にbuzzと出力されるようにする。
qiita.rb
def fizzbuzz(i)
    if i % 3 == 0
        "fizz"
    elsif i % 5 == 0
        "buzz"    
    else
        i.to_s
    end
end
puts fizzbuzz(1)
puts fizzbuzz(3)
puts fizzbuzz(5)
#1とfizzとbuzzが出力される
  • 最後に15で割れる時はfizzbuzzと出力されるようにする。
  • 書くときに注意としては、今の流れでif文の下に15の条件を書くと、最初の3の条件で出力される(15も3で割り切れる)ため、15の条件を3より前に書く。
qiita.rb
def fizzbuzz(i)
    if i % 15 == 0
        "fizzbuzz"
    elsif i % 3 == 0
        "fizz"
    elsif i % 5 == 0
        "buzz"    
    else
        i.to_s
    end
end
puts fizzbuzz(1)
puts fizzbuzz(3)
puts fizzbuzz(5)
puts fizzbuzz(15)
#1とfizzとbuzzとfizzbuzzが出力される

以上になります。
「プロを目指す人のためのRuby入門」にて最初に学んだ事を書かせていただきました。

0
1
2

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
  3. You can use dark theme
What you can do with signing up
0
1