3.3 Interpretations
Like all programming languages you have to place certain events between special characters to let the
language know what to do with your event. TCL uses the following characters to define events:
<> - the greater than and is less than signs
These two signs aren't used in TCL itself, but it is used in documentation to indicate that a parameter is
required if you want to execute the command.
"" - quotes
Quotes are used to mark text. Everything between quotes is considered to be text,
except when it is enclosed in brackets or is marked as a variable (you will learn about variables later on).
[ ] - brackets
Brackets are used to execute commands. The first word inside the brackets is the command that you want to
execute and the rest are the parameters of the command.
They are also used in documentation to indicate that a parameter is optional and not required to run the
specified command.
{ } - braces
Braces are used to indicate where something starts and stops. This can be a part of the script or a command
for example.
( ) - parentheses
Parantheses are used to define multiple things. It is used to declare that a variable is an array and that
certain parts of the if command belong together for example (how this works and what it is will be
explained later on).
$ - variable
This defines that the word directly following the $ (without seperation of a space) is a variable.
Shortly said a variable is a place where you store information in to call upon it later. This will be
discussed more extensive later on aswell like I said above.
; - semicolon
When TCL sees a semicolon, it processes everything behind it as if it were on a new line. This way you can
put more than one command on a single line to make your script shorter and still let it work.
If you don't use a semicolon and put a second command behind your first one, TCL will see it as extra
comment for the command in front of it and will give (most likely) an error because the command isn't supposed
to have such a parameter or it makes your script malfunction.
# - hash
When TCL sees a hash at the beginning of a line, it considers everything behind it as comment and will
ignore it and skip to the next line.
Many programming languages allow you to say where the comment starts and stops, like in HTML you define the
start of comment with <!-- and where the comment stops with --> or like in C where you let the comment start
with /* and let it stop with */.
This doesn't apply for TCL. When you have put a hash at the beginning of a line, everything behind it (on
that line) is ignored. Please note that you can not put a hash in the middle of a line and put comment behind
it, this will give an error because TCL doesn't see it as comment in that case.
Instead, you can put a semicolon in front of your hash so that TCL will interpret the things behind it as
they were on a new line and then it will see it start with a hash and thus will consider everything behind it as
comment.
It's a bit complicated, but that's just the way it is and I don't think that it will ever change, you'll get
used to it ;). Once you realize how it works it's not that difficult.
\ - backslash
A backslash is used to let TCL see the next character as text. Normally when you would put a bracket in your
script TCL would see it as the start or end of a command, but when you put a backslash in front of it, TCL will
see it as plain text and process the bracket instead of trying to execute a command.
There are several exceptions to this though. There are a few codes that start with a backslash, followed by
a number or letter to create a special character. In those cases the backslash means that there is a special
code and not to see the next character as text.
For example: \0 (that's the number 0, not the letter o) normally would make TCL see the 0 as text (TCL sees
an 0 in general as text already, but the backslash enforces it and this is mearly an example to explain how it
works), but \037 doesn't mean 037 with the 0 enforced as text, but it means that the following text must be
underlined.
This might seem a bit confusing aswell but once you get a grasp on how it works it's not so hard anymore
like is with most things in TCL.
For the rest all the commands and small examples within the text will be shown
in italic, so that they can easily be distinguished
from comment and other text.
Bigger examples will be shown in a different font
and on seperate lines.
|