Editing
Squirrel Variables
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<div style="width:33.333%; z-index: 1; top: 0px; position: sticky; height: 30px; display: inline-block; text-align: center; line-height: 30px; background-color:#BBBBBB;">[https://sigwiki.potato.tf/index.php/An_Introduction_to_Squirrel BACK]</div><div style="width:33.333%; z-index: 1; top: 0px; position: sticky; height: 30px; display: inline-block; text-align:center; line-height: 30px; background-color:#BBBBBB;">[https://sigwiki.potato.tf/index.php/An_Introduction_to_Squirrel HOME]</div><div style="width:33.333%; z-index: 1; top: 0px; position: sticky; height: 30px; display: inline-block; text-align:center; line-height: 30px; background-color:#BBBBBB;">[https://sigwiki.potato.tf/index.php/Squirrel_Comments NEXT]</div> 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. {| class="wikitable" style="width:75%; margin:auto; text-align:center font-weight:bold; font-size:125%" |+Keywords |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 | | | | | |} <div style="margin-top: 50px;">To define a variable with x as it's identifier, we use the <code>'''local'''</code> keyword:</div> <syntaxhighlight lang="c" line="1" start="1" style="font-weight:bold;"> local x; </syntaxhighlight> We created our variable in this statement but we haven't given it a value, so currently the value for x is <code>'''null'''</code>, 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 (<code>'''='''</code>) operator in a separate statement, or both! <syntaxhighlight lang="c" line="1" start="1" style="font-weight:bold;> local x; local y = 10; printl(y); x = 0; y = 0; </syntaxhighlight> 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. <syntaxhighlight lang="c" line="1" start="1" style="font-weight:bold;> const DAYS_IN_WEEK = 7; const PI = 3.1415926535; const NAME = "Dell Conagher"; </syntaxhighlight> 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 [https://sigwiki.potato.tf/index.php/Squirrel_Data_Types 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. <code>7</code> is an '''integer''', <code>3.14</code> is a '''float''', and <code>"Dell Conagher"</code> is a '''string'''.
Summary:
Please note that all contributions to SigMod are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
SigMod:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
British English
Views
Read
Edit
Edit source
View history
More
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information