[Forth] nested while loop
-
Hallo!
Ich lerne gerade Forth und momentan bin ich bei Schleifen angekommen. Ich habe das folgende kleine Programm geschrieben:
: g 0 begin dup 10 < while 1+ dup . repeat ; : f 0 begin dup 10 < while 1+ g repeat ; f
Eigentlich sollte es 10 mal "1 2 3 4 5 6 7 8 9 10" ausgeben. Leider funktioniert das nicht, denn es wird nur einmal "1 2 3 4 5 6 7 8 9 10" ausgegeben.
Wo liegt mein Fehler?MfG
forth'ler
-
Du musst den Zähler wieder von Stack nehmen:
: g 0 begin dup 10 < while 1+ dup . repeat [b]drop[/b] ; : f 0 begin dup 10 < while 1+ g repeat [b]drop[/b] ; f