Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
bottles_lib_7.rb
class Bottles
def verse(num)
case num
when 0
"No more bottles of beer on the wall, no more bottles of beer.\n" +
"Go to the store and buy some more, 99 bottles of beer on the wall.\n"
when 1
"1 bottle of beer on the wall, 1 bottle of beer.\n" +
"Take it down and pass it around, no more bottles of beer on the wall.\n"
when 2
"2 bottles of beer on the wall, 2 bottles of beer.\n" +
"Take one down and pass it around, 1 bottle of beer on the wall.\n"
when 89
"89 bottles of beer on the wall, 89 bottles of beer.\n" +
"Take one down and pass it around, 88 bottles of beer on the wall.\n"
when 98
"98 bottles of beer on the wall, 98 bottles of beer.\n" +
"Take one down and pass it around, 97 bottles of beer on the wall.\n"
when 99
"99 bottles of beer on the wall, 99 bottles of beer.\n" +
"Take one down and pass it around, 98 bottles of beer on the wall.\n"
end
end
def verses(upper_bound, lower_bound)
upper_bound
.downto(lower_bound)
.collect {|verse_number| verse(verse_number)}
.join("\n")
end
def song
verses(99,0)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.