Tcl
|
Defining a ListA list in Tcl consists of a string whose items are separated by white space. For example, this is a list,A B C D E To assign a list to a variable we can do this, set list1 {A B C D E}
or this, set list1 [list A B C D E] The second method is better because the use of the list command makes it much clearer that a list is being created. To print a raw list to the console we use the puts command, puts "The contents of list1 are: $list1" Embedded ListsIt is possible for one list to have another list embedded within it, for example, set list1 [list A B [list 1 2 3] C D E] A list may also contain consecutive lists, for example, set list1 [list DOG CAT MULE] set list2 [list dog cat mule] set list3 [list $list1 $list2] |
Accessing Items in a ListTo step through a list the foreach command is used, foreach item $list1 { puts $item }
Although the use of proc printlist { inlist } { foreach item $inlist { puts $item } } By making the procedure recursive it can the items in an embedded list correctly. proc printlist { inlist } { foreach item $inlist { # recurse - go into the sub list if { [llength $item] > 1 } { printlist $item } else { puts $item } } Note the use of the llength command to check if an item consists of sub items. Finally, to use this procedure, set list1 [list A B [list 1 2 3] C D E] printlist $list1 |
© 2002- Malcolm Kesson. All rights reserved.