Use our word 'square' in the loop example word 'squares'.

This commit is contained in:
HorseMD 2014-11-14 12:12:30 +00:00
parent 6b5c06d45a
commit ce1d44b308

View File

@ -70,9 +70,10 @@ Forth, but most of what is written here should work elsewhere.
\ The `:` word sets Forth into compile mode until it sees the `;` word. \ The `:` word sets Forth into compile mode until it sees the `;` word.
: square ( n -- n ) dup * ; \ ok : square ( n -- n ) dup * ; \ ok
5 square . \ 25 ok
\ We can view what a word does too: \ We can view what a word does too:
see square \ dup * ; ok see square \ : square dup * ; ok
\ -------------------------------- Conditionals -------------------------------- \ -------------------------------- Conditionals --------------------------------
@ -109,7 +110,7 @@ one-to-12 \ 0 1 2 3 4 5 6 7 8 9 10 11 12 ok
\ `?do` works similarly, except it will skip the loop if the end and start \ `?do` works similarly, except it will skip the loop if the end and start
\ numbers are equal. \ numbers are equal.
: squares ( n -- ) 0 ?do i dup * . loop ; \ ok : squares ( n -- ) 0 ?do i square . loop ; \ ok
10 squares \ 0 1 4 9 16 25 36 49 64 81 ok 10 squares \ 0 1 4 9 16 25 36 49 64 81 ok
\ Change the "step" with `+loop`: \ Change the "step" with `+loop`: