昨日のドリルで登場したFizzBuzz問題。
模範回答としては、
def fizz_buzz
num = 1
while num <= 100 do
if num % 15 == 0
puts "FizzBuzz"
elsif num % 3 == 0
puts "Fizz"
elsif num % 5 == 0
puts "Buzz"
else
puts num
end
num = num + 1
end
end
fizz_buzz
というのが正解だったけど、
rubocopを使ったところ、
def fizz_buzz
num = 1
while num <= 100
if (num % 15).zero?
puts 'FizzBuzz'
elsif (num % 3).zero?
puts 'Fizz'
elsif (num % 5).zero?
puts 'Buzz'
else
puts num
end
num += 1
end
end
fizz_buzz
と言う形で、
数式を()で括り「その数値が0か否か」を判断する、
zero?メソッドを使った別の記述が(偶然だけど)できた。
rubocop的にはやはり、
可能な限りスッキリと整頓した記述がいいんだろうな。