SCI Programming Language/Definitions: Difference between revisions
m (1 revision imported) |
m (1 revision imported) |
(No difference)
|
Latest revision as of 00:14, 3 June 2024
define
The define statement allows you to define a symbol which will stand for a string of text:
(define symbol lots of text)
will replace symbol, wherever it is encountered as a token, with lots of text and then continue scanning at the beginning of the replacement text. Thus, if we write:
(define symbol some text)
(define same even more)
then:
(symbol)
will become:
(some text)
which then becomes:
(even more text)
enum
The enum statement eases the definition of the various states of a state-variable. Say you want to walk an actor from the door of a room across the floor, up the stairs, and through another door. You have a state-variable called actor-pos which will take on a number of values. These could be defined with defines as follows:
Code:<syntaxhighlight lang="sci"> (local actorPos define AT FRONT DOOR 0) define IN ROOM 1) define ON STAIRS 2) define TOP OF STAIRS 3) define UPPER DOOR 4) ) </syntaxhighlight>
or you could get the same result with enum:
Code:<syntaxhighlight lang="sci"> (local actor-pos (enum AT FRONT DOOR IN ROOM ON STAIRS TOP OF STAIRS UPPER DOOR ) ) </syntaxhighlight>
Enum defaults its first symbol to O. If you want a different starting value, put it right after the word enum:
Code:<syntaxhighlight lang="sci"> (enum 7 AT FRONT DOOR IN ROOM ON STAIRS TOP OF STAIRS UPPER DOOR ) </syntaxhighlight>
sets
AT FRONT_ DOOR
to 7,IN _ ROOM
to 8, etc.The value of an enum may also be defined by an expression, as follows:
Code:<syntaxhighlight lang="sci"> (enum AT FRONT DOOR = (+ AT REAR DOOR 1) ) </syntaxhighlight>
Note: Define and enum statements may be included within both global and local variable definitions.
- Notes
< Previous: Data Types and Variables Next: Control Flow >