Re: Learn to Program, by Chris Pine

First off, thanks to Dave for providing the explanation that should have
been in place of just my solution.

I also recommend putting the “beer = beer - 1” at the end of the loop
but that won’t immediately allow you to remove the if unless you also
look at changing the loop criteria or provide a special check to handle
the last time through the loop. Assuming you want to end with 0 bottles
of beer on the wall, then your last iteration through the loop will need
to be when beer = 1 which means you should also look to change your
while criteria. Either of the following would work:

While beer >= 1


While beer > 0

Both of these will allow you to remove the extra if check.

Keep it up!


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs