Journal Inigo Montoya's Journal: 99 bottles of beer, in ruby
I recently came across this website about 99 bottles of beer in many different programming languages:
http://www.99-bottles-of-beer.net/
which seems to have the most complete list (621 versions, albeit some dups).
However, I recently started to learn ruby this month, and I didn't like the ruby example at that site, so I thought I'd write my own. Here it is for all it's fun.
class Wall
attr_reader:beers, :s
def initialize
@beers = 99
@s = "s"
end
def getAbeer
puts "#{beers} bottle#{s} of beer on the wall."
puts "#{beers} bottle#{s} of beer."
puts "Take one down, pass it around,"
@beers = @beers - 1
s = "s" unless @beers == 1
puts "#{beers} bottle#{s} of beer on the wall.\n\n"
@s = s
end
def noMoreBeer
return @beers == 0
end
end
wall = Wall.new
wall.getAbeer until wall.noMoreBeer
So, how did I do? I think mine is 99 times better than the one at that site. Yes, I know my version is not the most efficient because it has excess assignments. But it is clean and easy to read, without the clutter of if/then/endif statements. Besides, you want it to be slow and inefficient, the beer lasts longer
99 bottles of beer, in ruby More Login
99 bottles of beer, in ruby
Slashdot Top Deals