How's this for a solution. Note I tried to only use constructs covered up to the point of the exercise in the book. numBottles = 99 while numBottles > 2 puts numBottles.to_s + " bottles of beer on the wall, " + numBottles.to_s + " bottles of beer," puts "take one down, pass it around, " + (numBottles-1).to_s + " bottles of beer on the wall!" puts "" numBottles = numBottles - 1 end puts numBottles.to_s + " bottles of beer on the wall, " + numBottles.to_s + " bottles of beer," puts "take one down, pass it around, " + (numBottles-1).to_s + " bottle of beer on the wall!" puts "Yay!" --Bill -----Original Message----- From: JB [mailto:directly_above_the_center / of_the_earth.com] Sent: Thursday, March 30, 2006 11:39 PM To: ruby-talk ML Subject: Re: Learn to Program, by Chris Pine Jan_K wrote: > Does anyone know where I can find the solutions to the exercises in > this book: > > http://pine.fm/LearnToProgram/ > > > I'm stuck in "Flow Control" chapter, specificailly the "Extend Deaf > Grandma" exercise. I'm stuck trying to do the part to make it do '99 bottles of beer on the wall' song. I get started in what I hope will work and next thing I know I have way too many variables and nothing makes sense. I even did something that made it loop the integer 0. I had to Ctrl-c on that one. <sigh> Here's what I quit trying at, because no matter how many breaks I took or whatever, it just wasn't making any sense. : puts '99 bottles of beer on the wall, 99 bottles of beer,' 'take one down, pass it around,' '98 bottles of beer on the wall!' song = '99 bottles of beer on the wall, 99 bottles of beer, take one down, pass it around,' song = 99 song2 = '98 bottles of beer on the wall!' song2 = 99 - 1 last = '1 bottle of beer on the wall' last = 1 if song2 == last puts 'Yay!' else if song2 - 1 puts while song == 1 end endputs '99 bottles of beer on the wall, 99 bottles of beer,' 'take one down, pass it around,' '98 bottles of beer on the wall!' song = '99 bottles of beer on the wall, 99 bottles of beer, take one down, pass it around,' song = 99 song2 = '98 bottles of beer on the wall!' song2 = 99 - 1 last = '1 bottle of beer on the wall' last = 1 if song2 == last puts 'Yay!' else if song2 - 1 puts while song == 1 end end I too wish the author had put examples, say on some pages in the back or something.