EasyManua.ls Logo

LEGO MINDSTORMS Robots

LEGO MINDSTORMS Robots
226 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Page 124
Here's another simple example that demonstrates how to print messages from within a word. Be careful about the spacing: the actual string to be printed is framed by the .ā€œ and ā€ words, which
are separate from the string.
: helloWorld ." Hello, world. " ;
ok
helloWorld
Hello, world. ok
If you define a word that already exists, it will be redefined:
: helloWorld ." Tag, Welt. " ;
redefine helloWorld ok
Constants and Variables
You can define words in Forth that represent numerical values. These words are called constants; you can use the word anywhere you really mean the number it represents. This is really handy for
making programs more readable.
To define a constant, push its value on the stack. Then use the word CONSTANT and supply a name. like this:
7 CONSTANT FULL
ok
You can the use FULL anywhere you really mean 7, like this:
FULL 2 0 MOTOR_SET
ok
Variables are even easier to define. Just use the word VARIABLE and supply a name:
VARIABLE z
ok
Values are stored in variables using the ! word, pronounced "store":
12 z !
ok
The value of a variable can be retrieved and placed on the stack with the @ word:
z @ .
12 ok
There's some tricky stuff going on here that I'll briefly discuss. A variable is really an address in memory. The ! word expects to find an address and a value on the stack; it stores the value at the
specified address. Similarly, the @ word expects to find an address on the stack. It replaces the address with the value at that address. When you declare a variable with the VARIABLE word, all
you're really doing is assigning an address (determined by the Forth interpreter) to a name.

Table of Contents

Related product manuals