Variables; Command Substitution - Newport XPS-Q8 Manual

Universal high-performance motion controller/driver
Table of Contents

Advertisement

XPS-Q8
2.2.2

Variables

set
The
command is used to assign a value to a variable. It requires two arguments:
The first is the name of the variable, and the second is the value. Variable names can be
any length, and case is recognized. In fact, you can use any character in a variable
name.
It is not necessary to declare Tcl variables before you use them.
The interpreter will create the variable when it is assigned a value.
The value of a variable is obtained later with the dollar-sign syntax, as illustrated in
Example 1–2.
Example 1–2: Tcl variables.
set
var
5
⇒ 5
set
b $var
⇒ 5
set
The second
The use of the dollar sign is our first example of substitution. You might guess that the
set
command substitutes the value of var for $var to obtain a new
second
command.
set
b
5
The actual implementation of substitution is more efficient, which is important when the
value is large.
2.2.3

Command Substitution

The second form of substitution is command substitution. A nested command is
delimited by square brackets, [ ]. The Tcl interpreter takes everything between the
brackets and evaluates it as a command. Rewriting the outer command by replacing the
square brackets and everything between them with the result of the nested command.
This is similar to the use of backquotes in other shells, except that it has the additional
advantage of supporting arbitrary nesting of commands.
Example 1–3: Command substitution.
set
len
[string length
⇒ 6
In Example 1–3, the nested command is:
string length foobar
This command returns the length of the string foobar. The nested command runs first.
Then, command substitution causes the outer command to be rewritten as if it were:
set
len
6
If there are several cases of command substitution within a single command, the
interpreter processes them from left to right. As each right bracket is encountered, the
command it delimits is evaluated. This results in a sensible ordering in which nested
commands are evaluated first so that their result can be passed as arguments to the outer
command.
NOTE
command assigns to variable b the value of variable var.
foobar]
3
Tcl Manual
EDH0307En1041 — 10/17

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents