Next
Previous
Contents
Since Tcl is an interpreted language, to run a Tcl program (also called
a script), you normally pass the script file to the Tcl interpreter, wish,
for example:
wish hello.tcl
You can also use wish in interactive mode and type in commands at the command
line.
There's another standard Tcl interpreter, tclsh, which only understands
the Tcl language. Tclsh does not have any of the Tk user interface commands,
so you cannot create graphical programs in tclsh.
Some Tcl freeware applications extend the Tcl language by adding new commands
written as C functions. If such is the case, you need to compile the applicati
on
instead of just passing its Tcl code to the wish interpreter. This application
program, from a Tcl perspective, is really a new version of the wish interpret
er,
which the new C commands linked in. Of course, the application program may
be a lot more than merely a Tcl interpreter. (Note: you can also use Tcl's
auto-loading capability on systems that support it.)
Tcl has a simple structure. Each line starts out with a command, such as
button and a number of arguments. Each command is implemented as if it was
a C function. This function is responsible for handling all the arguments.
As a very standard example, the following is the Hello World program in
Tcl/Tk:
# This is a comment
button .b -text "Hello World" -command exit
pack .b
In this case you have to type the commands interactively to tclsh or wish.
You can also place command into script files and invoke these just like
shell scripts. To do this for the previous example, rewrite the Hello World
program as follows:
#! /usr/local/bin wish -f
button .b -text "Hello World" -command exit
pack .b
Put the text inside a file called Hello and make sure that wish is installed
in /usr/local/bin (otherwise you will have to change opportunely the path).
Make the file Hello executable issuing the command
chmod 775 Hello
and run it inside X.
You will see a button labelled Hello World inside a window: clicking it
will close (exit) the window.
Next
Previous
Contents
|