Wednesday, March 25, 2009

FizzBuzz.rb


   1  def fizzbuzz(range)

   2    range.map do |i|

   3      m3 = lambda { |x| x.modulo 3 }

   4      m5 = lambda { |x| x.modulo 5 }

   5      case 

   6      when m3[i].zero?

   7        next 'FizzBuzz' if m5[i].zero?

   8        'Fizz'

   9      when m5[i].zero?

  10        'Buzz'

  11      else

  12        i

  13      end

  14    end

  15  end

  16  

  17  p fizzbuzz 1..100

No comments: