Fizzbuzz問題(Ruby) ver.1
有名なFizzbuzz問題をRubyで解いてみました。Fizzbuzz問題とは、「1から任意の数までの自然数を表示せよ。ただし、3で割り切れる数は「Fizz」、5で割り切れる数は「Buzz」、両方で割り切れる数は「FizzBuzz」と表示すること。」というものです。
今回はRubyでやってみました。洗練された回答を出すために、2,3の新しい知識を得ました。非常に勉強になる問題だと思います。
def fizzbuzz(num) 1.upto(num) do |i| x ||= i % 15 == 0 || i % 3 == 0 && "Fizz" x ||= i % 15 == 0 || i % 5 == 0 && "Buzz" puts x == true ? "FizzBuzz" : x || i end end fizzbuzz(ARGV[0].to_i)