99 Bottles of Beer

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Version vom 3. März 2007, 16:29 Uhr von Phantasus (Diskussion | Beiträge) (99 bottles of beer in Forth, reva)
Zur Navigation springenZur Suche springen

Das gute alte 99 bottles in Forth

99 bottles of beer on the wall, 99 bottles of beeeeer . . . , Take one down, pass it around, 98 bottles of beer on the wall. ...


| 99 Bottles of Beer in Reva Forth
| by Phantasus
: .bottle ( n -- n) dup 1 >if ." bottles of" space ;then ." bottle of" space ;
: .wall ( n -- n ) dup 0 >if dup . .bottle ." beer on the wall," cr ;then
 ." No more bottles of beer on the wall." cr 
;
: .beer ( n -- n ) dup . .bottle ." beeeeer . . . ," cr ;
: .take ( n -- n-1 ) ." Take one down, and pass it around," cr 1- ;
: 99beer ( -- ) 99 100 1 do .wall .beer .take .wall cr loop
  ." Time to buy more beer!" cr 
;
99beer