Tcl : lset

Tcl have lset command to change value of list’s element.

lset varname index newvalue

Some example of lset on variable named a is presented below.

Lset command can set value of nested list too.

Thats all …

Tcl : nested list

Here is various way to create nested list in tcl. Remember that every thing is a string in Tcl.

% set nestedlist1 { 1 2 { a b c } 3 { d e f } 4 5 }

%set nestedlist2 [list 1 2 [list a b c] 3 [list d e f] 4 5]

%set innerlist1 {a b c}

%set innerlist2 [list d e f]

%set nestedlist3 “1 2 $innerlist1 3 $innerlist2 4 5”

Lindex command can also used to extract an element of nested list.

%lindex $nestedlist1 2 1

b

Try it on tclsh by hand ! Bye …

Tcl list : creation, length, and extracting element

In Tcl everything is a string. List is also a string. The simplest form of list is a string with zero or more space separated words. Lets set a variable with 3 elements list containing 1,2, and 3.

% set var1 “1 2 3”

% set var2 [list 1 2 3]

% set var3 {1 2 3}

Here we set var1,var2, and var3 to a list, with 3 different way.

To return the number of elements in a list we can use llength command.

% llength $var1

3

To extract an element from list we can use lindex command.

% lindex $var1   1

2

As we can see list has zero based index. The first element is at index 0. Lindex command can accept end and end-? as argument.

% lindex $var1   end

3

% lindex $var1  end-1

2

Thats all for now.

Tcl Tutorial

Do you need a Tcl tutorial ? Salvatore write one that we can read online here :

http://www.invece.org/tclwise/

Also check out a n interesting Tcl language implementation here :

http://jim.tcl.tk

Tcl/Tk : Another hello world

Hello world using tcl/tk presented below may be more clear than oneliner before.

  1. create a label named .label1 with hello world text
  2. create a button named .button1 with OK text and will do exit when clicked.
  3. pack .label1 to make it showed on screen.
  4. pack .button1 to make it showed on screen below .label1.

Here is the result.

Done.

Tcl/Tk Hello world in a line

Creating classic hello world program using GUI in Tcl/Tk can be done in few lines or may be only a line !

Oneliner can do below.

pack [button .b1 -text “Hello World” -command exit -width 50]

This line can be read : pack a button named .b1 with hello world text and exit command when clicked.

Save it to hello_oneline.tcl then run on command prompt : wish hello_oneline.tcl.

Voila!

Click the button and the window will close.

Bye ..