On Fri, 01 Jun 2007 21:28:14 +0900, Ruby Quiz wrote:

> The three rules of Ruby Quiz:
> 
> 1.  Please do not post any solutions or spoiler discussion for this quiz
> until 48 hours have passed from the time on this message.
> 
> 2.  Support Ruby Quiz by submitting ideas as often as you can:
> 
> http://www.rubyquiz.com/
> 
> 3.  Enjoy!
> 
> Suggestion:  A [QUIZ] in the subject of emails about the problem helps
> everyone on Ruby Talk follow the discussion.  Please reply to the
> original quiz message, if you can.
> 
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=
> 
> There has been some debate on the proper ways to screen programmers you
> intend to hire.  A common theory is that you really need to have the
> programmer write some code for you to accurately gauge their skill. 
> Exactly what to have them write is another debate, but the blogosphere
> has recently been abuzz with this question as a screener:
> 
> 	Write a program that prints the numbers from 1 to 100. But for
> 	multiples of three print °»Fizz°… instead of the number and for the
> 	multiples of five print °»Buzz°…. For numbers which are multiples 
of both
> 	three and five print °»FizzBuzz°….
> 
> Pretend you've just walked into a job interview and been hit with this
> question. Solve it as you would under such circumstances for this week's
> Ruby Quiz.

class Integer
  def === num
    num % self == 0
  end
end

100.times do |x|
  case x
    when 15: puts "FizzBuzz"
    when 3: puts "Fizz"
    when 5: puts "Buzz"
    else puts x
  end
end

-- 
Ken Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/