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/