Loops/Increment loop index within loop body: Difference between revisions
Loops/Increment loop index within loop body (view source)
Revision as of 11:42, 29 September 2023
, 9 months ago→With indexed loop word: reverted behaviour of end.
m (→With indexed loop word: tweaked text and code layout) |
m (→With indexed loop word: reverted behaviour of end.) |
||
Line 4,168:
[ f.incr replace ] is incr ( n --> )
[ true f.end replace ]
[ 1 false ]'[
Line 4,179:
f.stacks witheach release ] is from ( n --> )</syntaxhighlight>
<code>from</code> takes its initial index from the stack, and performs the nest that follows it repeatedly until the ending condition is
<code>index</code> returns the current index.
Line 4,187:
The task states "''in addition to the normal incrementation''" but this is counter-intuitive. To make the loop task compliant you will need to precede <code>f.incr</code> with <code>1+</code> in <code>incr</code>. You will also need to delete the <code>1+</code> before <code>incr</code> in the task code below.
The word <code>end</code> sets the ending condition to
As with other iterative looping words in Quackery (e.g. <code>times</code>, <code>witheach</code>, etc.) the word <code>done</code> will terminate the current iteration immediately.
Line 4,212:
index echo, cr
index 1+ incr ]
dup 42 = if end ]
drop</syntaxhighlight>
|