Searching a dictionary
To iterate over a dictionary, Tcl provides the dict for
command. The syntax is as follows:
dict for {key value} dictionaryValue script
How to do it…
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
How it works…
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.