FizzBuzzが流行っているので
FizzBuzzが流行っているので、私も書いて見ました。
普通に書くのは一回やって飽きたので、数値と範囲の両方取れるようにしました。
module FizzBuzz def self.fizzbuzz obj if obj.kind_of? Integer then fizzbuzz_upto obj elsif obj.kind_of? Range then fizzbuzz_range obj else raise end end def self.fizzbuzz_upto n 1.upto(n).each{|i| fizzbuzz_one i} end def self.fizzbuzz_range range range.each{|i| fizzbuzz_one i} end def self.fizzbuzz_one n if n % 15 == 0 then print 'fizzbuzz' elsif n % 5 == 0 then print 'buzz' elsif n % 3 == 0 then print 'fizz' else print n end print ' ' end end FizzBuzz::fizzbuzz 10 print "\n" FizzBuzz::fizzbuzz 5..20
さっと作ったから、突っ込みどころは多そう。