🌟

FizzBuzzプログラムを作成する(Ruby)

2024/01/25に公開

はじめに

今回はFizzBuzzプログラムの作成をしていきます。
FizzBuzzプログラムについて知りたい方は、
チェリー本 FizzBuzzプログラムについてを参考にしてください。

FizzBuzzプログラムを作成する

以下の実行プログラムになるようにメソッドを作成していきます!

fizz_buzz.rb
 fizz_buzz(1)  #=> "1"
 fizz_buzz(2)  #=> "2"
 fizz_buzz(3)  #=> "Fizz"
 fizz_buzz(4)  #=> "4"
 fizz_buzz(5)  #=> "Buzz"
 fizz_buzz(6)  #=> "Fizz"
 fizz_buzz(15) #=> "Fizz Buzz"

文字列の変更

まずは、1と2を完成させるためのメソッドを作ります。
文字列に変更したい場合は、to_sメソッドを使うんでしたよね!
では、コードを見ていきましょう!

fizz_buzz.rb
def fizz_buzz(n)
  n.to_s
end

puts fizz_buzz(1)
puts fizz_buzz(2)

実行しましょう!

$ ruby fizz_buzz.rb
1
2

こうなります。一個ずつ基礎を利用して、コードを作っていきます。

if文

次はif文を追加して、fizz_buzz(3) #=> "Fizz" を完成させます。

fizz_buzz.rb
def fizz_buzz(n)
 if if n % 3 == 0
  "Fizz"
 else
  n.to_s
 end
end

puts fizz_buzz(1)
puts fizz_buzz(2)
puts fizz_buzz(3)

文字列とif文

では、文字列とif文を利用して、残りのコードも書けます!
作成していきましょう!

fizz_buzz.rb
def fizz_buzz(n)
  if n % 15 == 0  #上から処理するので、これが先頭になる点に注意
    'Fizz Buzz'
  elsif n % 3 == 0
    'Fizz'
  elsif n % 5 == 0
    'Buzz'
  else
    n.to_s
  end
end

puts fizz_buzz(1)
puts fizz_buzz(2)
puts fizz_buzz(3)
puts fizz_buzz(4)
puts fizz_buzz(5)
puts fizz_buzz(6)
puts fizz_buzz(15)

実行します。

fizz_buzz.rb
% ruby fizz_buzz.rb
1
2
Fizz
4
Buzz
Fizz
FizzBuzz

3で割り切れる場合、5で割り切れる場合、15で割り切れる場合、それ以外、
と全パターンに対応できたのでfizz_buzzメソッドはこれで完成です。お疲れ様でした!

さいごに

今回はfizz_buzzプログラムを作成してきました。
これは基礎の基礎です。まだ基礎の説明は続きますので、頑張っていきましょう!

参考文献

プロを目指す人のためのRuby入門 改訂2版
チェリー本 FizzBuzzプログラムについて

Discussion