LoginSignup
0
0

More than 3 years have passed since last update.

【備忘録】Fizz_Buzz問題について(RubyonRailsの動き方)

Last updated at Posted at 2020-10-28

本稿について

PFを作成後、改めてFizz_Buzz問題をRubyで入力していたところ、
少し理解が深まったので、備忘録として残します。

Fizz_Buzz問題とは

プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。
Wikiより転記:https://ja.wikipedia.org/wiki/Fizz_Buzz

これをプログラムで書くと、条件分岐(if文等)と繰り返し(for文等)が必要になるため、初学者の練習問題となることが多い。

fizz_buzz.rb
def fizz_buzz(number)
    if number % 15 == 0
        puts "fuzz_buzz"
    elsif number % 5 == 0
        puts "buzz"
    elsif number % 3 == 0
        puts "fuzz"
    else
        puts number.to_s
    end
end

puts "1以上の数値を入力してください"
for i in 1..5 do
  print fizz_buzz(gets.to_i)
end

RubyonRailsで言うと

controllerで下記のような、プログラムをよくみる

users_controller.rb
def show
    @user = User.find(params[:id])
end

fizz_buzz.rbで言うところのgets.to_iがviewファイルで行われ、controllerの処理が実行されている。

わかっている人にとっては、当たり前だろうが府に落ちたので

以上です

0
0
0

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
0