TIMES is een genuanceerdere variant van
MANY waarbij je aangeeft
hoevaak Forth het eerste stuk van de regel moet uitvoeren.
0 VALUE #TIMES \ Teller
: TIMES ( n -- )
#TIMES 1+ TUCK ( #times+1 n #times+1 )
0 TO #TIMES \ Zekerheid boven alles.
= STOP? OR \ n-de keer of stop-ingreep?
IF DROP EXIT THEN \ Dan klaar.
TO #TIMES 0 >IN ! ; \ Teller verhogen en nog'n rondje.
) BL [rtn]
) DUP EMIT 1+ 96 TIMES DROP [rtn] ?
Het aantal keren dat Forth vooraan de regel moet beginnen
geef je op stack mee aan
TIMES.
De value
#TIMES is voor intern gebruik door
TIMES.
Als je die van te voren toch op
-100 of erger nog, op
100 zet...