On Sat, 21 Jul 2001, Avi Bryant wrote:

> Here's an incremental squeezing of an earlier solution, I think by Steven
> Grady, down to 164 (or has someone already done that?):
>
> def b(n)"#{n>0?n: 'No more'} bottle#{'s'if n!=1} of beer"end
> 99.downto(1){|n|w=" on the wall";puts "#{b(n)+w}, #{b n}\nTake one down, pass it around\n#{b(n-1)+w}."}
>

OK, let's see if I can squeeze some bytes without breaking it this
time.  This is 3 bytes less, I believe:

def b(n)"#{n<1?'No more':n} bottle#{:s if n!=1} of beer"end
99.downto(1){|n|w=" on the wall";puts b(n)+w+", #{b n}.
Take one down, pass it around,
#{b(n-1)+w}."}

(and it has [what I am treating as] the full punctuation [pending
official canonization {which unfortunately does not exist}])


David

-- 
David Alan Black
home: dblack / candle.superlink.net
work: blackdav / shu.edu
Web:  http://pirate.shu.edu/~blackdav