To iterate over a dictionary, Tcl provides the dict for
command. The syntax is as follows:
dict for {key value} dictionaryValue script
In the following example, we will create a dictionary containing a set of key/value pairs and then using the dict for command return a listing of all key/value pairs using the puts
command. Return values from the commands are provided for clarity. Enter the following command:
% set names [dict create 1 John 2 Mary 3 Paul]
1 John 2 Mary 3 Paul
% dict for {id data} $names {
puts "Key $id : Value $data"
}
Key 1 : Value John
Key 2 : Value Mary
Key 3 : Value Paul
The dict for
command accepts three arguments. The first argument is a two-element list of variable names for the key
and value
. The second is the dictionary that is to be searched. The third is a script to be evaluated for each mapping with the key and variable values set, as in the foreach
command.
3.133.159.223