210c
<< <> >>
 
TIMES ist eine differenzierte Variante von MANY, bei der du angibst, wie oft Forth das erste Stück der Zeile ausführen soll. 
0 VALUE #TIMES        \ Zaehler
: TIMES ( n -- )
  #TIMES 1+ TUCK      ( #times+1 n #times+1 )
  0 TO #TIMES         \ Sicherheit über alles.
  = STOP? OR          \ n-tes Mal oder Eingriff von Stop?
  IF DROP EXIT THEN   \ Dann klar.
  TO #TIMES 0 >IN ! ; \ Zaehler erhoehen
                      \ und noch 'ne Runde.

) BL [rtn]
) DUP EMIT 1+ 96 TIMES DROP [rtn] ?
Die Anzahl der Wiederholungen, wie oft Forth die Zeile wieder von vorn beginnen soll, gibst du dem Wort TIMES über den Stack mit. Der Value #TIMES ist für den internen Gebrauch durch TIMES bestimmt. Wenn du den trotzdem von vornherein auf -100, oder schlimmer noch, auf 100 setzt ...

einde
 >>