Ruby Fizz Buzz Solution

My Ruby Fizz Buzz solution - I've been trying to get to know the language better

I decided as part of my wanted to get to know Ruby a bit better I would go back to basics and try out some of the programming challenges that people new to programming are normally asked to try out.

For those that don't know, Fizz Buzz is a children's game where you count upwards from 1, each time the number is divisible by 3 they have to shout Fizz, each time it is divisible by 5 they have to shout Buzz and each time it is divisible by both 3 and 5 they have to shout 'FizzBuzz'.

Obviously this is a trivial task for a seasoned programmer, but it is a nice example to get used to the syntax of a new language.

This was my first attempt - pretty boring and self-explanatory;

for i in (1..20)
    x = ''
    x += "Fizz" if (i % 3 == 0)
    x += "Buzz" if (i % 5 == 0)
    puts(x.empty? ? i : x)
end

My thinking was that I wanted to keep my puts to a minimum and maintain readability, I think this does just that.

Once I completed the task I started looking around for more creative solutions and stumbled on this code;

Some of the solutions are just awesome - fizzbuzz_sequence7_reverse especially wins it for me and I think if ever I need to show anyone Fizz Buzz I will think up more of the 'exotic' ways of doing it like these folk did.

Recent posts View all

Productivity

6 things I do to respond to support queries quickly

Here are some of the things we do to make sure we're responding to support queries as quickly as possible

Productivity

Prolonging your laptop's battery

Some short and long term solutions to extending your laptop's battery life