99 Bottles of Beer: Unterschied zwischen den Versionen

aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Wechseln zu: Navigation, Suche
(99 bottles of beer in Forth, reva)
Zeile 10: Zeile 10:
 
  | 99 Bottles of Beer in Reva Forth
 
  | 99 Bottles of Beer in Reva Forth
 
  | by Phantasus
 
  | by Phantasus
 
 
  : .bottle ( n -- n) dup 1 >if ." bottles of" space ;then ." bottle of" space ;
 
  : .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
 
  : .wall ( n -- n ) dup 0 >if dup . .bottle ." beer on the wall," cr ;then

Version vom 3. März 2007, 18:29 Uhr

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