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)

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

Recent posts View all


How to ignore Bullet in RSpec tests

Using Bullet during a test can pick up mistakes but also has false negatives; here is an easy way to ignore them


How we used Nokogiri to fix a sizing issue in YouTube's oEmbed

At some point, one of our calls to YouTube's oEmbed endpoint was returning videos way too small; we fixed in in our Rails application by using Nokogiri