Squirrel Variables: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Every program in any programming language is made up of instructions called '''statements''' which manipulate data to produce a desired result. Squirrel stores data into regions of memory as '''objects'''. Objects which we give an '''identifier''' (name) in our programs are called '''variables'''. | Every program in any programming language is made up of instructions called '''statements''' which manipulate data to produce a desired result. Squirrel stores data into regions of memory as '''objects'''. Objects which we give an '''identifier''' (name) in our programs are called '''variables'''. | ||
You can think of statements as analogous to sentences in the language we speak to each other; each requires a specific set of items in a | You can think of statements as analogous to sentences in the language we speak to each other; each requires a specific set of items in a certain order to be considered valid, and each is ended with a specific character. Sentences are mostly ended with periods, whereas statements always end with a semicolon. | ||
Latest revision as of 21:29, 22 January 2024
Every program in any programming language is made up of instructions called statements which manipulate data to produce a desired result. Squirrel stores data into regions of memory as objects. Objects which we give an identifier (name) in our programs are called variables.
You can think of statements as analogous to sentences in the language we speak to each other; each requires a specific set of items in a certain order to be considered valid, and each is ended with a specific character. Sentences are mostly ended with periods, whereas statements always end with a semicolon.
Identifiers have a few considerations to keep in mind:
- They are case-sensitive, wep is not the same as WEP
- The first character must be alphabetical (a-z) or an underscore, afterwards they can have any combination of (a-z), (0-9), or underscores
- Underscores are the only special character allowed, nothing else
Valid Identifiers:
- INDEX
- _weapon
- weapon_sequence
- player123
Invalid Identifiers:
- starting-index
- 1_ring_to_rule_them_all
- BOLD&BRASH
- $IMBATMAN
In addition, identifiers cannot be the same name as a keyword, which are special identifiers reserved by the language for its use in the syntax. We'll go over most of these throughout the guide, so don't worry about memorizing them just yet.
base | break | case | catch | class | clone |
continue | const | default | delete | else | enum |
extends | for | foreach | function | if | in |
local | null | resume | return | switch | this |
throw | try | typeof | while | yield | constructor |
instanceof | true | false | static | __LINE__ | __FILE__ |
rawcall |
local
keyword:local x;
We created our variable in this statement but we haven't given it a value, so currently the value for x is null
, which is a special value representing the lack of a value. To give our variable an actual value we have two options; we can set it at the time of definition (which is called initialization), or we can assign it a value with the assignment (=
) operator in a separate statement, or both!
local x;
local y = 10;
printl(y);
x = 0;
y = 0;
Here we define x and initialize y to 10, print y to console, and then set them both to 0 afterwards.
Normal variables like the ones we defined above can be changed at any time, however what if we have a variable that we don't want to change or that wouldn't make any sense to change? This is where constants come in.
const DAYS_IN_WEEK = 7;
const PI = 3.1415926535;
const NAME = "Dell Conagher";
Constants are variables which cannot be changed after they are created, however they can only contain certain values. Constants may only be created with integer, float, or string literals. We go over what these are in depth in the Data Types chapter. For now if you'd like a reference of what those are, the variables in the above example contain the specified types. 7
is an integer, 3.14
is a float, and "Dell Conagher"
is a string.